vi / vim alternatywa dla „Rozwiń wybór do zakresu”

9

Wysublimowany tekst ma fajną funkcję o nazwie „ Rozwiń wybór do zakresu SHIFT + CMD + SPACJA który wybiera wszystko w zakresie.

Wybiera wszystko w zasięgu, działa idealnie () lub [] lub {} powtarzając, rozszerza zakres na rodzica.

Chcę osiągnąć to samo z vimem.

palaniraja
źródło

Odpowiedzi:

15

Jeśli miałeś na myśli vim możesz to zrobić w trybie wizualnym ( :help visual-mode ) i obiekty tekstowe ( :help text-objects ).

Aby wybrać blok z kręconymi uszami, wykonaj: v + za + { , aby wybrać powtórzenie otaczającego bloku za + { . Zauważ, że możesz wybrać tylko zawartość nawiasów klamrowych za pomocą ja zamiast za .

Polecenia te, jak wiele innych w vimie, są budowane przez akcję, po której następuje obiekt tekstowy, gdzie obiekt tekstowy może być poprzedzony liczbą, aby uwzględnić więcej obiektów, których dotyczy akcja. Możesz także usunąć obiekt, zastępując go v przez re lub popraw go do itd.

Poza tym istnieją obiekty tekstowe dla wielu innych rzeczy (), {} i []np .:

  • za + w oznacza słowo.
  • za + s oznacza zdanie.
  • za + str oznacza akapit.
  • za + & lt; oznacza a <> blok.
  • za + ' oznacza pojedynczy cytat.
  • za + oznacza ciąg podwójnie cytowany.

Możesz być także zainteresowany otaczać wtyczka umożliwiająca dodawanie / zastępowanie / usuwanie otaczających znaków, a nawet znaczników.

Thor
źródło
Tak, odnosiłem się do vima. Dziękuję Ci. czy istnieje sposób, aby go dalej rozszerzać, np. [[[event touchesForView: button] anyObject] jeśli kursor jest blisko touchesForView akcja v + a + [ wybiera [event touchesForView: button] Chciałbym rozwinąć jeszcze jeden poziom? to znaczy., [[[event touchesForView: button] anyObject]
palaniraja
2
@palaniraja: tak, istnieje możliwość dodania obiektu tekstowego liczbą, np .: v + 2 + a + [.
Thor
3

The wtyczka vim-expand-region pozwala rozszerzyć / zmniejszyć wybrany obszar wizualnie do (konfigurowalnego) zestawu obiektów tekstowych. To znaczy. możesz zacząć od wybrania zmiennej, a następnie przypisania, następnie bloku, następnie funkcji itp.

Ingo Karkat
źródło