Angenommen, ich arbeite an der Analyse sehr großer Datendateien (jede Datei hat ungefähr mehrere Megabyte). Ich möchte mit dem Lesen dieser Datendateien Parsing-Code schreiben, also habe ich mehrere Fenster in Vim, einige sind Code-Dateien und einige sind Datendateien.Wie kann ich einige Dateien für Vim Word Complete ignorieren?
In diesem Fall ist die Vim-Wortvervollständigung im Einfügemodus extrem langsam, da versucht wird, die Datendatei zu scannen. Um diese Situation zu vermeiden, möchte ich diese Datendateien ignorieren, die keine Programmerweiterung haben (z. B. dat, txt anstelle von c, rb, py), aber weiterhin Programmdateien ansehen. Also der beste Fall ist, dass ich einige Erweiterungen für das Ignorieren während der Wortvervollständigung registrieren kann.
Wie kann ich das erreichen? Ich schaute auf h: 'complete', aber ich konnte nicht finden, was ich machen möchte. Zum Beispiel, set complete-=w
in .vimrc befriedigt mich nicht, weil es nicht nur Datendateien, sondern auch Programmdateien ignoriert, was die Wortvervollständigung komplett zerstört.
Vielen Dank für Ihre Hilfe.
Eine sehr einfache und sehr offensichtliche Problemumgehung wäre das Öffnen Ihrer Datendateien in einer anderen Vim-Instanz oder, da Sie sie nicht bearbeiten wollen, in einem Pager wie "less" (der viele Befehle mit Vi teilt) [m]). – romainl
Ja, ich denke darüber nach. Um alles auf einmal anzuzeigen (dies ist ein Teil von dem, was ich tun möchte), kann ich Screen, iTerm2 oder was auch immer verwenden, um den Bildschirm zu teilen und die Daten zu öffnen. Allerdings möchte ich aus vielen Gründen einen Weg finden, dies in einer reinen vim-Umgebung zu tun: "less" hat keine Plugins, die ich benutze, selbst wenn ich nur Dateien sehe. Wenn ich zum Beispiel mehrere Instanzen von Vim auf einem Bildschirm unter Verwendung der Bildschirmaufteilung zum Beispiel durch den Bildschirm habe, bin ich sicher, dass ich verwirrt werde, weil es Vim-Funktion und Bildschirm-Funktion mischt, was sehr schmerzhaft ist. – horiem
Alle guten Punkte. In Vim selbst ist die einzige Möglichkeit, eine Datei vom Scannen auszuschließen, sie aus der Pufferliste zu entfernen oder zu entladen, aber das bedeutet auch, dass sie * nicht angezeigt wird, damit der Zweck nicht erfüllt wird. Alternativ können Sie '' und '' verwenden. –
romainl