Bir projedeki tüm dosyalar için dosya içeriklerini etkileşimli olarak aramak için Ctrl-P nasıl kullanılır?


15

Bugün bir projenin her dosyasında arama yapmaya çalıştım. Ctrl-P kullanın ve böyle satırlarda arama:

ekran görüntüsü

Ancak aramanın sonucu yalnızca önceden açılmış dosyadadır. Burada sadece açıyorum main.php.

Tüm dosyaları tek tek açmak zorunda kalmadan arama yapmanın bir yolunu biliyor musunuz?

Teşekkürler,


1
Bu da istediğim bir şey. Ack veya ag kullanıyorsanız, performans bir sorun olmamalıdır. Ayrıca neovim kullanıyorsanız, bu zaman uyumsuz olmalıdır, bu yüzden de herhangi bir blok olmamalıdır.
mhartington

Sonunda ag'ı ctrlp komutu olarak kullanıyorum :)
nobe4

Yanıtlar:


13

:CtrlPLine aslında listelenen tamponlar üzerinde çalışması gerekiyordu.

Bu özelliği projenizdeki her dosyada kesinlikle kullanmak istiyorsanız, bunları bağımsız değişken listesine (ve dolayısıyla arabellek listesine) aşağıdaki gibi bir şeyle ekleyebilirsiniz:

:argadd **/*.php

ancak bu performans nedenlerinden dolayı çok iyi bir fikir gibi gelmiyor.

:vimgrepVeya kullanmak :grepbana çok daha iyi geliyor:

:vim foo **/*.php
:cw

CtrlP'nin "bulanıklığını" açık bir şekilde kaybedersiniz, ancak karşılığında güvenilirlik ve esneklik elde edersiniz.

Referans:

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

CtrlP ve vim-grep arasındaki temel fark, CtrlP'nin etkileşimli olmasıdır .
ideasman42

1

Bu eklentileri Sidesearch veya fzf kullanmalısınız

Her ikisi de silversearch-ag kullanarak özyinelemeli dizinlerde arama yapmaya izin verir

fzf dizenizi içeren listelenen dosyaları aramanıza izin verir.


1
Merhaba @MisterBanal, sitemize hoş geldiniz! Bu eklentiler OP'nin istediği gibi CtrlP ile arayüzlenebiliyorsa cevabınızda kesin olmalısınız. Arabirimlendirilebiliyorsa, nasıl ve nasıl yapamazlarsa en azından bunları nasıl kullanacağınıza dair temel bir örnek vermelisiniz, aksi takdirde cevabınız soruyu gerçekten cevaplamıyor. (Cevabınızı metnin altındaki "düzenle" düğmesiyle değiştirebilirsiniz).
statox
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.