2017-06-06 3 views
0

Ich bin ein vim Benutzer und vor kurzem habe ich begonnen, Apps für Android zu schreiben.
Ich benutze Android Studio 2.3.2 mit Vim-Emulator.Wechsel zur vorherigen/nächsten Funktion in AndroidStudio (Vim Emulator)

Wie kommt es ich es in der Regel VIM verwenden für C++ Programmierung und eine der Funktionen, die ich auf einer täglichen Basis ist ]] bis zur nächsten Funktion zu bewegen und [[ zu erhalten zur vorherigen Funktion.

Wenn ich das in Android Studio verwende, verschiebt es mich einfach an den Anfang/das Ende der Datei.

Meine Vermutung ist, dass es mit dem Öffnen der Funktionsumfang in der gleichen Zeile statt in der neuen Zeile verbunden ist.

Frage:

Ist das möglich zum nächsten/vorherigen Funktion Android Studio Vim-Emulator zu springen, so wie ich in C++ Code zu tun verwendet (obwohl ich Java-Stil-Codierung, auch bekannt als „ägyptisch Klammern“)

Antwort

1

Aus der Dokumentation :help ]]

      *]]* 
]]   [count] sections forward or to the next '{' in the 
      first column. When used after an operator, then also 
      stops below a '}' in the first column. |exclusive| 
      Note that |exclusive-linewise| often applies. 

Das heißt, es geht nur um die nächste Anweisung, die hat ‚{‘ als erstes Zeichen der Zeile, die der Fall C und C++ Funktionen passiert sein (zumindest in einigen Styleguides), wie Methoden und Funktionen mit einer { ohne jede Art der Verschachtelung beginnen.

Beim Schreiben von Java werden Methoden jedoch innerhalb von Klassen verschachtelt, was bedeutet, dass sie normalerweise eine Einrückungsstufe haben.

According to this answer, Vim hat die eingebauten [m und ]m Zuordnungen, um Methoden zu navigieren.

     *]m* 
]m   Go to [count] next start of a method (for Java or 
      similar structured language). When not before the 
      start of a method, jump to the start or end of the 
      class. When no '{' is found after the cursor, this is 
      an error. |exclusive| motion. 

Also, wenn Sie [[ und ]] für die Navigation Methoden verwenden möchten, können Sie diese in Ihrem ~/.ideavimrc neu zuordnen.

nnoremap [[ [m 
nnoremap ]] ]m 
+0

Das ist, warum ich Vim liebe. Ich hielt mich für einen erfahrenen Benutzer, aber ich war mir dieser '' m' und '[m' Methoden nicht bewusst. Klappt wunderbar. Danke – lewiatan

Verwandte Themen