Czy istnieje polecenie vim, które przesuwa kursor do nawiasu nadrzędnego?


85

Czy istnieje polecenie vim, które przesuwa kursor do nawiasu nadrzędnego?

Mam plik konfiguracyjny taki jak ten i chcę przejść bezpośrednio do wspornika nadrzędnego. Czy istnieje proste polecenie ruchu, aby to zrobić, czy jest sposób na połączenie poleceń, aby zrobić to, co chcę?

PARENT{ // I want to move my cursor here

   CHILD { stuff... }
   CHILD { stuff... }
   CHILD { stuff... }

...

   CHILD { stuff... } // my cursor is on this line
   CHILD { GRANDCHILD { more stuff } }
   CHILD { stuff... }
}

Odpowiedzi:


131

Tak. Zrób to [{w trybie normalnym. Może jednak nie działać we wszystkich językach.

Wiele poleceń ruchu jest dostępnych pod adresem :help [.


7
+1 za wskazanie funkcji, której używałbym już od lat - gdybym tylko o tym wiedział . I]} trafia do nawiasu zamykającego! Co za garść naciśnięć klawiszy ... `: -}
evadeflow

1
Hmm. Wydaje mi się, że dotyczy to tylko „obecnego” rodzica (?), Więc nie robi dokładnie tego, czego chciał PO. Czy istnieje wariant, który wyskakuje w górę lub w dół?
evadeflow

43

Możesz także nacisnąć%, a pokaże się twój otwierający lub zamykający nawias


5
Musisz być w nawiasach klamrowych, aby% działał. Jest to bardziej przydatne do dopasowywania nawiasów klamrowych niż do nawigacji.
user31986

1
@ user31986 Myślę, że się mylisz: działa w przypadku nawiasów otwierających i zamykających. Właściwie to działa nie tylko dla nawiasów, ([{}])ale także dla komentarzy typu C/*...*/
Alf

@ user31986 był zasadniczo poprawny: pytanie dotyczy przejścia z wnętrza jakiejś struktury do jakiegoś nawiasu nadrzędnego, podczas gdy ta odpowiedź dotyczy przejścia od jednego symbolu (nawiasu, nawiasu lub nawiasu klamrowego) do pasującego. To jest powiązane, ale nie jest odpowiedzią na pytanie.
Eric O Lebigot

6

Wygląda na to, że [[robi to, co chcesz. I ][przesuwa się do najniższej klamry. (Z podziękowaniami dla @Benoit za wskazanie mi, że może to być możliwe ...)


3
„[[„ & ”] [” działa tylko wtedy, gdy nawias otwierający jest pierwszym znakiem w wierszu, a nie gdy jest tak, jak w pytaniu. „PARENT {”
user31986
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.