Verwenden Sie einen benutzerdefinierten Auflistungsbefehl
Mit Strg können Sie festlegen, mit welchem Befehl eine Liste der Dateien im Ordner abgerufen werden soll. Wenn Sie also einen Namen ausschließen möchten beets.txt
, können Sie Folgendes tun:
let g:ctrlp_user_command = 'find %s -type f | grep -v "beets.txt"'
Das ist global, aber es deutet auf die Antwort hin: Geben Sie Ihren eigenen Shell-Befehl an.
Noch besser ist, dass Sie mit Strg mehrere Shell-Befehle mit Markierungen versehen können. Dies bedeutet: "Wenn Sie diese Markierung im Stammverzeichnis sehen, verwenden Sie diesen Befehl."
Ich fand dies in :help ctrlp
und änderte es leicht, basierend auf dem Kommentar des Autors zu einem Problem.
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'cd %s && git ls-files --cached --exclude-standard --others'],
\ 2: ['.hg', 'hg --cwd %s locate -I .'],
\ },
\ 'fallback': 'find %s -type f'
\ }
Dies bedeutet: "Wenn Sie .git
in dem Ordner sehen, verwenden Sie git ls-files...
. Andernfalls verwenden Sie, wenn Sie sehen .hg
, hg --cwd...
ein reguläres find
."
Also, einen bestimmten Ordner in einem Projekt zu ignorieren, einen Befehl entwickeln , die diesen Ordner ignorieren, legen Sie dann eine eindeutige Markierung in diesem Projekt Ctrlp zu lassen , dass Sie Ihren speziellen Befehl hier verwenden mögen .
(In meinem Fall wollte ich eigentlich die darin enthaltenen Dateien ignorieren .gitignore
, sodass der git ls-files
obige Befehl für mich funktioniert.)