Czy w Vim istnieje sposób na połączenie wielu sąsiednich linii jednocześnie?


0

Zauważyłem, że przeciąganie myszą w celu podświetlenia, powiedzmy, 5 wierszy z rzędu, a następnie naciśnięcie przycisku TAB nie robi tego za ciebie ... Czy istnieje sposób na luz TAB lub jest to po prostu coś, co zwykle ręcznie?

Czy istnieje również sposób na wyłączenie TAB (przez to nie mam na myśli pozbycia się * wszystkich * kart) tych 5 sąsiednich linii? Powiedzmy, że linia 1 jest dwukrotnie zakładana, linia 2 jest czterokrotnie zakładana, itd., Czy może być tak, że jeśli chcesz odłączyć je od siebie, linia 1 będzie teraz zakładana tylko raz, a linia 2 będzie teraz zakładana 3 razy, itp?


1
BTW, jeśli często używasz myszy podczas pracy z VIM, naprawdę nie wykorzystujesz pełnej mocy VIM. Proponuję poświęcić trochę czasu na oglądanie, :help navigationdopóki większość tych poleceń nie będzie drugą naturą i trzymasz ręce na klawiaturze!
Codie CodeMonkey

Odpowiedzi:


9

Shift-Vaby wejść w tryb Visual Line. Wybierz linie, które chcesz. Naciśnij >.

Aby rozpakować, zrób to samo, aby wybrać, ale użyj <.


2
I oczywiście możesz użyć licznika, więc 5<<nie rozwiążesz 5 linii na raz.
Wayne Werner

Myślałem o tym jako o mojej pierwszej odpowiedzi i to jest najlepsze rozwiązanie, jeśli wiesz dokładnie, ile linii chcesz uzyskać ... Jestem po prostu zbyt leniwy, aby policzyć linie przez większość czasu :)
EBGreen

1
Zazwyczaj używam >}dużo do wcinania akapitów (w kodzie źródłowym). Używam także >'bpo zaznaczeniu punktu końcowego za pomocąmb
RedGrittyBrick

4

Używając linii poleceń:

  1. : aby wprowadzić polecenie
  2. . aby wybrać bieżącą linię
  3. ,[+,-] użyj + lub -, aby wybrać do przodu lub do tyłu
  4. [number] liczba linii
  5. >lub <wcięcie lub wycięcie

lub

  1. : wejść w tryb poleceń
  2. [num],[num] aby wybrać zakres linii według numeru linii
  3. >lub <wcięcie lub wycięcie

Na przykład:

:.,+5>

:.,-3<

:12,25>

1

Kilka sposobów, aby to zrobić.

  • Wejdź w tryb viusal vi naciśnij, >aby dodać zakładki i <usunąć zakładki
  • Naciśnij, 5>>aby dodać karty do pięciu linii lub 5<<usunąć
  • Umieść znak na piątej linii i maprzejdź do pierwszej linii i wykonaj>'a

Oczywiście w wielu sytuacjach można zastąpić >/ <z =zrobić auto-indent

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.