2010-01-21 14 views

Antwort

45

[m: Gehe zu [Count] vorherigen Start einer Methode (für Java oder ähnliche strukturierte Sprache).

+5

nicht einmal ähnlich, funktioniert auch in Python :) – KevinDTimm

+0

Und auch für React/ES6/JavaScript Klassenmethoden :-) –

+0

Funktioniert aber nur für Methoden, nicht für Funktionen (benötigt 'class {}'). :-(Methodenspezifische Frage: http://stackoverflow.com/questions/12128678/vim-go-to-beginn-end-of-next-method –

0

Suchen (rückwärts) für ?^{ sollte normalerweise Sie dorthin bringen.

+2

es gibt so viele Fälle, wo das falsch ist ... – KevinDTimm

+1

Gibt es wirklich "so viele Fälle, in denen das schief gehen kann"? Die Frage wird speziell von "in der Mitte des Funktionskörpers" gestellt, und beim Schreiben von C-Code sollte es ein sehr nicht standardmäßiger Kodierungsstil für eine Funktion sein, die nicht mit '{' am Anfang einer Zeile beginnt und eine Zeile hat innerhalb der Funktion auch beginnend mit '{'. – hlovdal

+2

Sie können dies tatsächlich mit dem '[{' Befehl – vincentleest

1

BTW, die nur relativ sichere Weg, die Lage sein, dies zu tun ist vim zu ändern, this post

[Bearbeiten]
und das funktioniert nur mit Sprachen unterstützt durch ausgelassene ctags sehen. Da wir nicht dazu in der Lage sind zu wissen, in welcher Sprache Sie dies tun möchten, ist es möglich, dass diese Antwort auch nicht korrekt ist.
[/ edit]

0

Sobald Sie in Code um Blöcke und Absätze haben bewegend sortierten Sie betrachten könnte mögen, was Sie tun können, wenn Sie in der Mitte dieser Blöcke sind durch an this part des vim suchen Docs.

Dinge wie den Block löschen, bevor der Block einfügen, fügen Sie nach dem Block usw.

HTH

4

C Sprache [[

Wenn Ihr C-Code in der nicht-ägyptischen Stil:

[[ 

[m funktioniert nur, wenn Sie eine umschließende haben {} um die Funktion, z.B. class { method(){} } für Java/C++.

Und das ist eine gute Wette, dass für beide ägyptischen und nicht-ägyptischen Zahnspange funktioniert:

?^[^ \t#] 

Beispiele:

void egypt() { 
#define DONTCARE 1 
    int indented code = 1; 
} 

void tpyge() 
{ 
#define DONTCARE 1 
    int indented code = 1 
} 
Verwandte Themen