Frage

Ich benutze sowohl die Supertab- als auch die Snipmate -Plugins. Nehmen wir an, ich verwende Snipmate, um eine IF -Anweisungsstruktur zu erstellen. Sobald ich fertig bin, wie kann ich den Cursor nach dem If-Statement schnell bewegen, wenn ich nach dem If-Statement schnell bewegen kann? Zum Beispiel:

if [ $a = "b" ]; then
  bla;
fi

Wenn mein Cursor direkt am Semikolon ist und ich im Einfügungsmodus bin. Was ist die geringste Anzahl von Aktionen, die ich ergreifen kann, um den Cursor nach dem 'Fi' in die Linie zu bewegen? Wenn ich auf der Registerkarte drücke, öffnen Sie Supertab einfach ein Autocomplete -Fenster.

Vielen Dank

War es hilfreich?

Lösung

Wenn Sie Snipmate verwenden, empfehlen Sie Ihnen, das Snippet für Ihren Dateityp zu ändern. Zum Beispiel das Beispiel, das Sie mir aussehen, um so etwas wie ein Shell -Skript -Snippet zu sein. In diesem Fall würde ich dann Ihre VIM-Konfigurationsmolderinstallate/Snippets/sh.snippets für uns eine Definition wie die folgende ändern (Hinzufügen einer zusätzlichen Registerkartenvariablen am Ende des Snippets):

snippet if
  if [ ${1:condition} ]; then
    ${2:#statements}
  fi
  ${3}

Mit Snipmate können Sie dann die Registerkarte und Schalttabellen verwenden, um sich zwischen dem Zustand, den Aussagen und dem Ende des IF-Blocks hin und her zu bewegen.

Andere Tipps

Nicht sicher über die Plugins (ich benutze sie nicht, sondern in regulärem VIM):

<Esc>
/fi$
o

Das $ Zeichen könnte die meiste Zeit überflüssig sein.

Drücken Sie einfach C-o o

Ich würde drücken Esc Ö So starten Sie den Einfügenmodus in der nächsten Zeile. Aber vielleicht könnten Sie Snipmate neu konfigurieren, damit Sie eine andere Taste anstelle von drücken können Tab Um den Ausschnitt zu beenden?

Wenn Sie es nicht zugeordnet haben, die Nieder Die Pfeiltaste sollte auch den Cursor in die nächste Zeile verschieben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top