Vim - wybierz / yank / usuń zawartość między nawiasami włącznie z nawiasami


31

W vimie można wybrać zawartość między nawiasami włącznie z nawiasami podobnymi do

yi{ yi(

Ale chcę dołączyć nawiasy klamrowe.

Odpowiedzi:


0

Możesz przesunąć kursor nad jeden nawias i zrobić vf{lub, vf(aby przejść do trybu wizualnego, a następnie zaznaczyć wszystko, aż do nawiasu (włącznie).


5
W rzeczywistości spowoduje to wybranie tylko klamry otwierającej. Jeśli znajdziesz się na otwierającym nawiasie klamrowym, f{przeniesie Cię do najbliższego otwierającego nawiasu klamrowego, na którym już jesteś. Prawdopodobnie potrzebujesz tego, v%co przeniesie Cię do pasującego nawiasu klamrowego i może być używane po obu stronach.
Michael Mior

To nie jest poprawna odpowiedź. Zobacz odpowiedź @ garyjohn poniżej.
Michael Sandman

75

Tak. Użyj azamiast i, jak

ya{
ya(

Widzieć

:help a{
:help a(

i bardziej ogólnie

:help text-objects
:help 04.8

1
To powinna być zaakceptowana odpowiedź!
phanhuy152

3

Czy f{v%lub f(v%rób co chcesz? Przesuwa kursor do następnego {lub (, przechodzi w tryb wizualny, a następnie przesuwa kursor do odpowiedniego zamknięcia} lub). Jeśli już przekroczyłeś zakres, który chcesz wybrać, możesz użyć kapitału F. Działa równie dobrze, aby przejść do zamknięcia} lub) również - f}v%.

Gdy masz co chcesz wybrany, można y, d, x, itp. %Komenda działa kilka linii, zbyt, więc można użyć tej techniki na dużych bloków kodu, jeśli chcesz (choć fi Fnie, więc trzeba zacząć na pierwszej lub ostatniej linii).

EDYCJA: Lepsza odpowiedź, wydaje się być dokładnie tym, czego szukasz:

ya(

Wymiana iw oryginalnym poleceniu ze arobi dokładnie to samo, tyle że zawiera się „(” charakter. Jest to „wyrywając się blok”, natomiast yi(jest „wyrywając się í blok nner”.

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.