2012-11-10 1 views
6

Ich versuche compl-filename Funktion zu verwenden ist vim (Strg-XStrg-F) Pfade in INSERT Modus zu beenden, aber Ich kann nicht herausfinden, wie man in Verzeichnisse einreiht, ohne den Abschlussmodus (vorübergehend) zu beenden:Verfahrgeschwindigkeit Verzeichnisse mit vim Dateiname Fertigstellung im Insert-Modus (Strg-X Strg-F)

Nehmen wir an, ich möchte den Pfad /etc/sysconfig/network-scripts/ifup abschließen.

Ich möchte in der Lage sein, etwas zu tun:

 
/eCtrl-XCtrl-F 
/etc/ 
/etc/sysCtrl-F 
/etc/sysconfig/ 
/etc/sysconfig/netCtrl-F 
/etc/sysconfig/netconsoleCtrl-N 
/etc/sysconfig/networkCtrl-N 
/etc/sysconfig/network-scripts/ 
/etc/sysconfig/network-scripts/ifupCtrl-Y 
/etc/sysconfig/network-scripts/ifup 

Das Problem ist, sobald ich zu schreiben beginne * nach einem Pfad Spiel (wie /etc/), beendet sie den Dateinamen Abschluss. Ich möchte es in Dateinamen Abschluss bleiben, so dass ich immer noch Strg-F, Strg-N usw. verwenden kann, da es Fertigstellung endet, ich habe Strg-XStrg-F eingeben erneut, um es neu zu starten, und das hilfreiche Popup-Menü verschwindet in der Zwischenzeit.

Gibt es eine Option, die ich einstellen kann, um dies zu ändern?

* Mit ‚Typisierung‘ hier, ich beziehe mich auf Zeichen in 'isfname' - natürlich auch andere Zeichen eingeben (wie Leerzeichen oder Interpunktion) sollte nicht Dateinamen Abschluss fortzusetzen.

Antwort

3

Ich bin nicht sicher genau, was Sie sagen, aber Sie können nur Strg-XStrg-F wieder auf ein Verzeichnis drücken, während Sie im Menü Abschluss sind sie zu erweitern. Sie müssen nicht zuerst das Menü schließen. Ich behalte einfach Ctrl gedrückt und tippen Sie xf, um ein Verzeichnis, n und p zu durchlaufen, um nach oben und unten und w, um wieder nach oben gehen.

Wenn Sie nicht :h i_CTRL-F verwenden, dann könnten Sie es neu zuordnen. Zum Beispiel

inoremap <C-f> <C-x><C-f> 
+0

Wenn ich '^ XF' sofort nach Abschluss eines Teils des Pfades (endend mit einem'/') tippe, muss ich möglicherweise durch viele Pfade scrollen, um den gewünschten zu finden, ohne den zu beschränken Optionen durch Eingabe zusätzlicher Zeichen. '^ XFP' lässt mich zumindest zusätzliche Zeichen eingeben, ist aber klobig und sollte einfach nicht nötig sein. – codebeard

+0

@codebeard Sie sollten niemals '^ XFP' eingeben. Wenn Sie mit der Eingabe von '/ et' beginnen, können Sie'^XF' drücken. Dann geben Sie 'X^XF' ein (zum Beispiel), um zu'/etc/X11/'zu gelangen. Sie können einfach mit dem Tippen beginnen, während Sie im Menü sind, ohne '^ P' zu verwenden. Es ist durchaus möglich, dass ich hier voreingenommen bin, aber ich kann mir einen besseren Weg vorstellen. Sie könnten "" inermapen, wenn Sie möchten, dass es sich wie eine Bash-Vervollständigung verhält. – Conner

+0

Außer, sobald ich hier das 'X' tippe, verliere ich das Popup-Menü, das ist wahrscheinlich das Ziel der Verwendung von Dateinamen-Vervollständigung an erster Stelle - ich verwende es selten, um Tipparbeit zu sparen (ich kann ein 30 Zeichen eingeben) Pfadname in weniger Zeit als es dauert, um mit Tastenkombinationen herumzuspielen), aber ich benutze es, wenn ich mich nicht mehr erinnern kann, welchen Pfad ich gesucht habe. Auch "Inoremap ..." ist wahrscheinlich unklug angesichts der Wichtigkeit des '' Schlüssels beim Bearbeiten der meisten Dateien. – codebeard

0

Bitte verwenden Sie Insert "i" vor der Anwendung zuerst Container + x + f. Ich war in einer ähnlichen Situation. :)