2011-01-17 3 views
3

Wenn ich das Befehlszeilenfenster zum Bearbeiten einer komplexen Befehlszeile in vim öffne, erwarte ich, dass ich ein- und aussteigen kann Einfügen/Normal-Modus zum Bearbeiten wie in jedem anderen Puffer. (Das ist der Punkt, der der Befehlszeilenfenster, rechts, so dass ich das tun kann?) Aber anstatt, wenn ich ESC Hit in den normalen Modus zurück zu gehen, habe ich dies:Fehler beim Versuch, im vim-Befehlszeilenfenster in den normalen Modus zurückzukehren

Error detected while processing function <SNR>15_CloseStackPop: 
line 3: 
E11: Invalid in command-line window; <CR> executes, CTRL-C quits:   pclose 

Ich bin Spiel um das herauszufinden, aber ich habe nicht viel zu tun. vim --noplugin scheint dieses Problem nicht zu haben, also ist es eindeutig eines der Plugins, die ich geladen habe, aber welches? Ich habe einige. "Zeile 3" von welcher Datei? Was bedeutet "E11"?

Antwort

1

Versuchen Sie Strg + C als Synonym für Escape. Überprüfen Sie auch .vimrc für die Plugins. Dies ist kein Standardverhalten für vi. Wenn ich du wäre, würde ich keine Plugins verwenden, wenn ich nicht absolut sicher bin, was sie getan haben. Vielleicht von vorne anfangen und diejenigen neu installieren, von denen Sie sich absolut sicher fühlen.

+0

Ctrl + C scheint in diesem Kontext nicht als Synonym für Escape zu fungieren; Escape kehrt in den normalen Modus zurück, Strg + C geht zurück in den cmdline-Modus (im Gegensatz zu cmdwin). – Glyph

4

Es stellt sich heraus, dass dies ein Fehler in der 'autoclose' plugin war. Ich entfernte den Verweis auf pclose von der Funktion <SID>CloseStackPop, und jetzt funktioniert Escape im Befehlszeilenmodus einwandfrei.

Falls jemand anderes dieses Problem: Funktionen in Plugins können mit <SID> definiert werden, die (im Quellcode) sieht genauso aus wie <SID>Foo, aber Vim aussehen <SNR>4321_Foo. Ich war auf der Suche nach 15_CloseStackPop, vorausgesetzt, dass die <SNR> etwas Besonderes war, aber als ich gerade ein grep CloseStackPop -r ~/.vim/plugins das Problem Plugin kam sofort.

+2

Wahrscheinlich möchten Sie 'pclose' in' silent' ändern! pclose' anstatt es zu entfernen. Es ist verantwortlich für das Schließen des Vorschaufensters nach Abschluss. Ich hatte den gleichen Fehler von etwas, das das gleiche tut: http://StackOverflow.com/q/11733388/79125 – idbrii

Verwandte Themen