Das mag etwas zu übertrieben erscheinen, aber ich bin zu vim gewechselt und freue mich jetzt sehr über den Workflow. Ich versuche mich zu disziplinieren, die Pfeiltasten nicht zu benutzen, da es beim Schreiben so wichtig ist, die Hände immer auf den Alfa-Tasten zu halten. Wenn ich also navigieren muss, verlasse ich den Einfügemodus, gehe in den normalen Modus und kehre in den Einfügemodus zurück.
Es gibt eine Ausnahme, bei der dies tatsächlich störender ist: Ich verwende es clang complete
mit Snippets und super tab
das ist großartig. Außer jedes Mal, wenn eine Funktion automatisch ausgeführt wird, nachdem ich die Parameter eingegeben )
habe, bleibt mir zuvor der Cursor. Um fortzufahren, muss ich den Cursor ein Zeichen nach rechts bewegen. Wie Sie sich vorstellen können, passiert dies sehr oft .
Die einzigen Optionen, die ich habe (soweit ich weiß) sind: Esclaoder →, und ich bin über keine von beiden glücklich. Beim ersten Mal drücke ich 3 Tasten für eine einfache Bewegung des 1-Zeichen-Cursors, beim zweiten Mal bewege ich meine Hand zu den Pfeiltasten. Eine dritte Option wäre die Zuordnung CTRL-Loder Zuordnung zu →.
Was ist der beste Weg, dies zu tun?
//snippets (clang complete + supertab):
foo($`param1`, $`param2`)
//after completion:
foo(var1, var2|)
^ ^
| |
I am here |
Need to be here
|
bezeichnet die Cursorposition
)
wenn die Funktion mindestens ein Argument enthält. Also tippe ich es von Hand. Viel nützlicher jetzt.)
Ich wette, es wird übersprungen, ohne dass es tatsächlich eingefügt wird. (Ich benutze dieses Plugin nicht))
<C-O>l
, für 1 Normalmodusbefehl in den Normalmodus zurückzukehren.Antworten:
Map ), um das Vorhandene zu überspringen,
)
wenn es sich um eine schließende Klammer handeltEntnommen aus: http://vim.wikia.com/wiki/Automatically_append_closing_characters
Alte Antwort
:h i_CTRL-O
Führen Sie einen Befehl aus und kehren Sie in den Einfügemodus zurück.Ctrl-ol Sie werden um ein Zeichen nach rechts verschoben und kehren dann in den Einfügemodus zurück.
Alternativ können Sie bei einigen Bracket-Plugins auch nur die schließende Bracket eingeben, )und die vorhandene wird überschrieben.
quelle
)
es sich um das letzte Zeichen in der Zeile handelt (und dies geschieht häufig, wenn Sie Code schreiben).CTRL-O a
funktioniert jedoch. Wir haben also einen Schlüssel gespeichert. :)del
)
besteht nur aus zwei Zeichen und wird immer nach der schließenden Klammer stehen.Geben Sie Folgendes ein, um die Steuertasten zu finden, die im Einfügemodus verwendet werden.
Strg-B wird nicht verwendet, aber Sie möchten möglicherweise einen anderen Schlüssel opfern.
Dies funktioniert, um den Cursor um ein Zeichen nach rechts zu bewegen. Oder kartieren Sie ein Doppelzeichen.
quelle