2014-10-24 17 views
29

Nehmen wir an, ich bin im visuellen Modus, und ich tippe "aw", um den visuellen Bereich um das nächste Wort zu erweitern. Ich möchte dann die nächsten paar Wörter einbeziehen. Gibt es eine einzelne Taste, die ich drücken kann, um die vorherige Bewegung zu wiederholen (einschließlich Textobjektbewegungen)?Vim: Vorherige Bewegung wiederholen?

Ich bin mir bewusst, dass "." wiederholt die vorherige Änderung, und 'n' wiederholt die vorherige Suche, unter anderem 'Wiederholungs' -Befehle, aber mir ist kein Befehl bekannt, die vorherige Bewegung zu wiederholen (was auch immer es war).

+4

Vordefinierte Wiederholungsbefehle ',' und ';' funktionieren nur für Bewegungen 'fFtT'. Kein allgemeiner Befehl, Sie müssen ein Plugin verwenden. – Hotschke

Antwort

14

Es gibt einige Plugins, die diese Funktionalität bereitstellen:

  • repmo.vim: wiederholen Bewegungen, für die eine Zählung
  • repeatable-motions.vim gegeben wurde: Stellen Sie die meisten Bewegungen wiederholbar
  • repmo.vim: vim Unterstützung von Wiederholungsbewegungsvorgänge geben (k, j, h, l, w, b, w, b, e, e, ge, gE)
+1

Ich wollte '[{' Stil Bewegungen. 'repeatable-motions.vim' funktioniert dafür (repmo scheint das nicht). – dsummersl

2

Nun gibt es einen Befehl zu wiederholen, jede Bewegung mede mit f, t, F oder T (denken Sie daran, dass fx braucht, um das nächste Auftreten des Zeichens x, Fx nimmt zum vorherigen ocurrence von x, tx Sie auf die Zeichen vor dem nexto Auftreten von x nimmt, und Tx führt Sie auf die Zeichen nach dem vorherigen Vorkommen von x) wiederholen diese Bewegungen drücken

; 

um sie rückwärts zu wiederholen (in der entgegengesetzte Richtung) drücken

,