Frage

Gibt es eine Vim Abkürzung für die aktuelle Funktion der Argumentliste springen? Ich finde mich oft mit der Argumentliste einer Funktion herumschlagen müssten, und es ist ein bisschen ärgerlich zu tun zu haben? Def oder? Funktion oder 10k oder was-haben-Sie, bis ich endlich um es zu bekommen, dann / (oder t ( oder 5e in die richtige Position in der Argumentliste zu bekommen, und so weiter. Es wäre toll, wenn ich nur treffen könnte, eine beispielsweise und sofort am Ende / Anfang der Argumentliste setzen in den Einfügemodus gehen.

Mögliche Ansätze:

  • Folding
  • Tag-Unterstützung (ctags)

Auch ich bin mit Python, so basierten Lösungen auf geschweiften Klammern werden leider nicht funktionieren.

Wenn keine solche Verknüpfung vorhanden ist, werde ich nur eine schreiben und per Post hier als Antwort. : -)

War es hilfreich?

Lösung

Der Narr Beweis Weg, um den Anfang einer Funktion des Erhaltens ist [[zu verwenden. So verwenden Sie

Karte, ein ma [[kf (a

, so dass es Sie in die Funktionsdefinition nehmen kann, wenn nach dem ersten Auftreten von „(“ und legen Sie dann in dem Einfügemodus.

Andere Tipps

Disclaimer, ich weiß nicht, Python, ich annehmen kann, eine Python-Funktion von „Funktion“ oder „def“ aus Ihrer Frage identifiziert werden. Ändern Sie einfach die Regex in Folge.

sein kann, so etwas wie:

   :nnoremap <buffer> [m :call search('def\|function', 'b')<cr>f(

Hinweis:

  • Ich habe search (), um nicht vermasseln die Historie der Suche verwendet wird; searchpair () kann eine bessere Wahl sein, da es sich nur auf die Definition der Funktion springen wir innerhalb sind, anstelle der bisherigen Funktion.
  • Da dies beabsichtigt ist, nur mit Python zu arbeiten, verwende ich , um den Schlüssel-Bindung in nicht-Python-Dateien nicht vermasseln; Diese Zuordnung wird am besten in einem Python ftplugin definiert.

HTH,

Karte, ein ma [{F (a

Hit, ein auf die Argumentliste zu gehen, dann `a zurückzukehren, wo Sie waren, als Sie aufgerufen, ein. Caveat.: [{Springt zurück zum letzten unerreichten {Charakter, also, wenn Sie in einer Schleife oder eine anderen Steuerstruktur sind, dann wird es Sie zu Beginn, dass zu nehmen, statt

Ich weiß nicht, von einer Art und Weise zu Beginn der Funktion in einem narrensicheren Weg zu bekommen. Wenn Sie über Ihren tabbing konsistent sind, können Sie in der Lage sein, so etwas zu tun:

?

Karte, ein ma-Funktion: nohlf (a

Dabei gilt, wenn Sie eine einzelne Registerkarte nicht verwenden, bevor Sie die Funktionen definieren, die Sie entsprechenden Wert ändern würde.

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