Làm cách nào để sử dụng Ctrl-P để tương tác tìm kiếm nội dung tệp cho tất cả các tệp trong dự án?


15

Tôi đã cố gắng hôm nay để thực hiện tìm kiếm trên mọi tập tin của một dự án. Tôi sử dụng Ctrl-P và tìm kiếm trên các dòng như vậy:

ảnh chụp màn hình

Nhưng kết quả tìm kiếm chỉ có trên tệp đã mở trước đó. Ở đây tôi chỉ mở main.php.

Bạn có biết một cách để tìm kiếm trên tất cả các tệp mà không cần phải mở từng cái một không?

Cảm ơn,


1
Đây là điều tôi muốn là tốt. Nếu bạn đang sử dụng ack hoặc ag, hiệu suất không phải là vấn đề. Ngoài ra, nếu bạn đang sử dụng neovim, nó sẽ không đồng bộ, do đó, không nên có bất kỳ khối nào.
mhartington

Cuối cùng tôi sử dụng lệnh ag dưới dạng lệnh ctrlp :)
nobe4

Câu trả lời:


13

:CtrlPLine thực sự được cho là làm việc trên bộ đệm được liệt kê.

Nếu bạn hoàn toàn muốn sử dụng tính năng đó trên mọi tệp trong dự án của mình, bạn có thể thêm chúng vào danh sách đối số (và do đó là danh sách bộ đệm) với nội dung như:

:argadd **/*.php

nhưng điều đó không có vẻ là một ý tưởng rất tốt cho lý do hiệu suất.

Sử dụng :vimgrephoặc :grepâm thanh tốt hơn nhiều đối với tôi:

:vim foo **/*.php
:cw

Rõ ràng, bạn mất "độ mờ" của CtrlP, nhưng bạn sẽ nhận được độ tin cậy và tính linh hoạt.

Tài liệu tham khảo:

:help :argadd
:help :vimgrep
:help :grep
:help :cwindow
:help quickfix

Một điểm khác biệt chính giữa CtrlP và vim-grep, là CtrlP có tính tương tác .
ideaman42

1

Bạn nên sử dụng các plugin Sidesearch hoặc fzf

Cả hai đều cho phép tìm kiếm trong các thư mục đệ quy bằng silversearch-ag

fzf cho phép tìm kiếm trên các tệp được liệt kê bao gồm chuỗi của bạn.


1
Xin chào @MisterBanal, chào mừng bạn trên trang web của chúng tôi! Bạn nên chính xác trong câu trả lời của mình nếu các plugin này có thể được giao tiếp với CtrlP như OP yêu cầu. Nếu chúng có thể bị can thiệp, bạn nên giải thích cách thức và nếu chúng không thể, bạn ít nhất nên đưa ra một ví dụ cơ bản về cách sử dụng chúng nếu không câu trả lời của bạn không thực sự trả lời câu hỏi. (Bạn có thể thay đổi câu trả lời của mình bằng nút "chỉnh sửa" bên dưới văn bản).
statox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.