Wenn Sie einen benutzerdefinierten Finder über ctrlp_user_command
mehrere Optionen verwenden, einschließlich ctrlp_show_hidden
ctrlp_custom_ignore
und wildignore
Mustern des vim, nicht durch CtrlP (see documentation) verwendet.
g: ctrlp_show_hidden
...
Hinweis: gilt nicht, wenn ein Befehl mit definiert | g: ctrlp_user_command | wird benutzt.
g: ctrlp_custom_ignore
...
Hinweis # 1: standardmäßig | wildignore | und | g: ctrlp_custom_ignore | Nur gilt, wenn | globpath() | wird verwendet, um nach Dateien zu suchen, daher gelten diese Optionen nicht, wenn ein Befehl mit | g: ctrlp_user_command | definiert wurde wird verwendet.
So sind Sie auf die Gnade Ihrer Suche Werkzeug, in diesem Fall, ag. Glücklicherweise können Sie ein paar Dinge tun, die Ihnen das gewünschte Verhalten geben sollten.
Ihre verborgenen dotfiles Um zu erscheinen, aber immer noch ignore
Dateien respektieren, verwenden Sie die --hidden
Option für ag:
let g:ctrlp_user_command = 'ag %s -l --nocolor --hidden -g ""'
Jetzt Muster zu definieren, zu ignorieren, können Sie ag eigene ignorieren .agignore Datei verwenden. Dies kann ein pro Verzeichnis oder ein globales sein, das ag bei jedem Lauf überprüft. Sie platzieren das in Ihrem Haus dir ~/.agignore
.
Ich verstehe, dass es nett sein kann, vims wildignore
passen Sie auf Muster auf, aber mit .agignore
erhalten Sie den Bonus dieser Beschränkungen, wenn Sie AG vom CLI verwenden. Wenn Sie alle Dateien durchsuchen möchten, verwenden Sie einfach den Befehl ag -u
, den Sie erwähnten, um alle ignore
Dateien zu umgehen.
Als letzten Leckerbissen gibt es ein Dictionary-Format, das Sie verwenden können, um g:ctrlp_user_command
zu definieren, das einen ignore
-Schlüssel enthält, der CtrlP wildignore
Muster verwenden wird. Ich habe dies jedoch noch nie ausprobiert und die Dokumentation weist auf einen möglichen Leistungseinbruch hin. Sie können diese Methode versuchen, wenn Sie meine andere vorgeschlagene Lösung nicht mögen (see documentation).
Hinweis # 3: es sei denn, das | Wörterbuch | Format verwendet wird und "ignorieren" ist definiert und auf 1, die | Wildignore | und | g: ctrlp_custom_ignore | Optionen gelten nicht, wenn diese benutzerdefinierten Befehle verwendet werden.Wenn nicht vorhanden ist, wird 'ignore' standardmäßig auf 0 gesetzt, um die Leistung Vorteil der Verwendung von externen Befehlen beizubehalten.
Kann ich mit meiner Antwort Ihr Problem lösen? oder benötigen Sie zusätzliche Informationen? – mcanfield
Es ist sicher! Haben Sie vergessen, Ihre Antwort als akzeptiert zu markieren, tut mir leid. Vielen Dank! – Richard