Bagaimana cara menggunakan Ctrl-P untuk mencari konten file secara interaktif untuk semua file dalam suatu proyek?


15

Saya mencoba hari ini untuk melakukan pencarian pada setiap file proyek. Saya menggunakan Ctrl-P dan mencari di baris seperti ini:

tangkapan layar

Tetapi hasil pencarian hanya pada file yang dibuka sebelumnya. Di sini saya buka saja main.php.

Apakah Anda tahu cara mencari di semua file tanpa harus membukanya satu per satu?

Terima kasih,


1
Ini adalah sesuatu yang saya inginkan juga. Jika Anda menggunakan ack atau ag, kinerja seharusnya tidak menjadi masalah. Plus jika Anda menggunakan neovim, itu harus async, jadi seharusnya tidak ada blok juga.
mhartington

Akhirnya saya menggunakan ag sebagai perintah ctrlp :)
nobe4

Jawaban:


13

:CtrlPLine sebenarnya seharusnya bekerja pada buffer yang terdaftar.

Jika Anda benar - benar ingin menggunakan fitur itu pada setiap file di proyek Anda, Anda bisa menambahkannya ke daftar argumen (dan dengan demikian daftar buffer) dengan sesuatu seperti:

:argadd **/*.php

tetapi itu tidak terdengar seperti ide yang sangat bagus untuk alasan kinerja.

Menggunakan :vimgrepatau :grepterdengar jauh lebih baik bagi saya:

:vim foo **/*.php
:cw

Anda kehilangan "ketidakjelasan" CtrlP, jelas, tetapi Anda mendapatkan keandalan dan fleksibilitas sebagai imbalannya.

Referensi:

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

Perbedaan utama antara CtrlP dan vim-grep, adalah CtrlP bersifat interaktif .
ideasman42

1

Anda harus menggunakan plugin thesis Sidesearch atau fzf

Keduanya memungkinkan untuk mencari di direktori rekursif menggunakan silversearch-ag

fzf memungkinkan untuk mencari file-file yang terdaftar yang termasuk string Anda.


1
Hai @ MasterBanal, selamat datang di situs kami! Anda harus tepat dalam jawaban Anda jika plugin ini dapat dihubungkan dengan CtrlP seperti yang diminta OP. Jika mereka dapat dihubungkan, Anda harus menjelaskan bagaimana dan jika mereka tidak bisa, Anda setidaknya harus memberikan contoh dasar tentang bagaimana menggunakannya jika tidak, jawaban Anda tidak benar-benar menjawab pertanyaan. (Anda dapat mengubah jawaban Anda dengan tombol "edit" di bawah teks).
statox
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.