Ich habe viele Dateien, deren Namen Leerzeichen enthalten, und dies gibt mir Probleme. Wenn ich versuche, die Befehlszeile für den Befehl find zu vervollständigen, und eine dieser Dateien angezeigt wird, wird sie von Vim gefunden, aber nicht geladen, da die Leerzeichen nicht maskiert werden.
Beispiel: Ich bin bereits in vim und tippe
:find fo<Tab>
Zum Abschluss foo bar.txt
findet Vim es und gibt einen Fehler aus, da nur ein Dateiname erwartet wird. Das heißt, es lautet jetzt
:find foo bar.txt
Welches nicht lädt.
Gibt es eine Möglichkeit, dies zu umgehen und Vim automatisch aus den Räumen entkommen zu lassen?
Ich verwende VimTouch, auf dem Vim 7.3 ausgeführt wird
Bearbeiten: Ich habe kürzlich festgestellt, dass Vim Pfadnamen für mich entkommen wird, aber auf mysteriöse Weise nicht für Dateinamen.
quelle
vim
Problem zu sein (zumindest klingt es so, als würden Sie über das Öffnen einervim
Sitzung sprechen, anstatt etwas auszuführenvim
). aber würde trotzdem eine führende"
Arbeit platzieren? Das heißt, wenn Sie Tabula komplette Datei möchtena b
, gebenvim "a
und dann auf die Registerkarte, stattvim a
und dann Reiter? (Ich bin nicht sicher, weil sowohl in meinem vim als auch in meiner Shell das Leerzeichen automatischAntworten:
Dieser Befehl sucht nach 2 Dateien gleichzeitig, was in vim nicht möglich ist. Dies ist die Ursache Ihres Fehlers.
Wenn Sie mit Dateien arbeiten, in denen Speicherplatz vorhanden ist, können Sie nach jedem Wort anhängen
\
wie so
:find foo\ bar.txt
Diese Methode ist jedoch etwas umständlich, da Sie viele Dateien haben
Deshalb habe ich einen Befehl an Ihre Bedürfnisse angepasst
Hoffe, es funktioniert
Fügen Sie es Ihrer .vimrc hinzu
und verwenden
:Find
, um Dateien mit Leerzeichen zu suchen und zu öffnenNicht im Zusammenhang mit der gestellten Frage, könnte aber hilfreich sein
Dieses Problem tritt auch beim Speichern von Dateien mit Speicherplatz auf
wie
:w foo bar.txt
gibt FehlerUm das zu lösen
Fügen Sie dies zu .vimrc hinzu, um Dateien mit Leerzeichen zu verwenden
:W
oder:Save
zu speichern.quelle