Używam Vima od dłuższego czasu i zdaję sobie sprawę, że zaznaczanie bloków tekstu w trybie wizualnym jest tak proste, jak SHIFT+ Vi przesuwanie klawisza strzałki w górę lub w dół linia po linii, aż dojdę do końca bloku tekstu, który mam chcesz wybrać.
Moje pytanie brzmi - czy w trybie wizualnym istnieje szybszy sposób na zaznaczenie bloku tekstu, na przykład przez naciśnięcie SHIFT+, Va następnie określenie numeru wiersza, w którym chcę zakończyć zaznaczanie ? ( :35
na przykład przez, gdzie 35 to numer linii, do której chcę wybrać - to oczywiście nie działa, więc moje pytanie brzmi: jak można zrobić coś podobnego ...)
v%
lubv/pattern
czy coś innego?V35G
wizualnie wybierze od bieżącej linii do linii 35, równieżV10j
lubV10k
wizualnie wybierze następną lub poprzednią 10 liniinnoremap <Space> V
. W trybie linii wizualnych wystarczy kliknąć prawym przyciskiem myszy, aby zdefiniować wybór (przynajmniej w Linuksie tak jest). W każdym razie bardziej efektywny niż z samą klawiaturą.Odpowiedzi:
Oprócz tego, co powiedzieli inni, możesz również rozszerzyć swój wybór za pomocą wyszukiwania wzorców.
Na przykład, v/foowybierze od aktualnej pozycji do następnego wystąpienia „foo”. Jeśli faktycznie chciałeś rozwinąć do następnej instancji „foo”, na przykład w linii 35, po prostu naciśnij, naby rozszerzyć zaznaczenie do następnej instancji i tak dalej.
aktualizacja
Nieczęsto to robię, ale wiem, że niektórzy ludzie używają znaczników do dokonywania wizualnych wyborów. Na przykład, jeśli jestem w linii 5 i chcę wybrać linię 35, mogę nacisnąć, maaby umieścić znacznik
a
w linii 5, a następnie :35przejść do linii 35. Shift+, vaby przejść do trybu wizualnego linewise i na koniec `awybrać powrót do zaznaczeniaa
.źródło
v/foo/e
.e
Oznacza „koniec” dopasowanego wzorca.v
i
w
. Jeśli chcesz wybrać bieżącą, ciągłą, niebiałą spację, użyjv
i
Shift
+w
. Różnica polegałaby na tym, że kiedy daszek jest tutajMyCla|ss.Method
, pierwsza kombinacja wybrałaby,MyClass
a druga wybrałaby całą rzecz.v i w s
pozwala skutecznie wykonać operację „zamiany”.V35G osiąga to, czego chcesz
źródło
Vim to język. Aby naprawdę zrozumieć Vima, musisz znać język. Wiele poleceń to czasowniki, a vim ma również obiekty i przyimki.
Oznacza to „wybierz bieżącą linię aż do wiersza 100 włącznie”.
Obiekty tekstowe są tam, gdzie jest dużo mocy. Wprowadzają więcej obiektów z przyimkami.
Oznacza to „zaznacz wokół bieżącego akapitu”, czyli zaznacz bieżący akapit i pusty wiersz następujący po nim.
Oznacza to „zaznaczanie wokół bieżącego i następnego akapitu”.
Oznacza to „przejdź do końca bieżącego akapitu, a następnie wizualnie zaznacz go i poprzedni akapit”.
Zrozumienie Vima jako języka pomoże Ci uzyskać z niego najlepszy przebieg.
Po wybraniu w dół możesz łączyć z innymi poleceniami:
Za pomocą powyższego polecenia możesz zaznaczyć akapit i usunąć go. Zmień na
d
a,y
aby skopiować lub na a,c
aby zmienić lub na a,p
aby wkleić.Kiedy już zrozumiesz, jak działają wszystkie te polecenia, ostatecznie nie będziesz musiał niczego wizualnie wybierać. Zamiast wizualnie zaznaczać, a następnie usuwać akapit, możesz po prostu usunąć akapit za pomocą
dap
polecenia.źródło
v35G
wybierze wszystko, od kursora do linii 35.v
przełącza cię w tryb wyboru,35
określa numer linii, do której chceszG
przejść.Możesz także użyć,
v}
który zaznaczy wszystko do początku następnego akapitu.źródło
Aby wybrać liczbę linii:
shift + v 9j - wybierz 10 linii
źródło
:set rnu
Shift+V n j
lubShift+V n k
Spowoduje to zaznaczenie bieżącej linii i następnych / poprzednich
n
linii. Uważam, że jest to bardzo przydatne.źródło
v 35 j
dodano tekst na minimum 30 znaków
źródło
v%
wybierze cały blok.
Graj z:
v}
,vp
,vs
, Itd.Zobacz pomoc:
:help text-objects
który zawiera listę różnych sposobów zaznaczania liter, słów, zdań, akapitów, bloków i tak dalej.
źródło
Obiekty tekstowe: http://vim.wikia.com/wiki/Creating_new_text_objects
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
źródło
proste po prostu naciśnij Shift v line number gg
Przykład: bieżący wiersz do wiersza 41 Po prostu naciśnij Shift v 41 gg
źródło
Zawsze możesz użyć liczb poprzedzających, aby powtórzyć akcje:
źródło
Możesz nacisnąć,
vi}
aby wybrać blok otoczony{}
nawiasami, w którym aktualnie znajduje się kursor.Tak naprawdę nie ma znaczenia, gdzie jesteś w tym bloku (po prostu upewnij się, że jesteś w najbardziej zewnętrznym). Możesz także zmienić
{
na wszystko, co ma parę, taką jak)
lub]
.źródło
} oznacza przeniesienie kursora do następnego akapitu. więc użyj
v}
by zaznaczyć cały akapit.źródło
Aby wybrać wszystko w trybie wizualnym: naciśnij Esc, aby upewnić się, że jesteś w trybie normalnym
wpisz ENTER, aby przejść na początek pliku
źródło
gg
w trybie normalnym, aby przejść do pierwszej linii.Warto wiedzieć:
Aby wybrać tę samą liczbę linii, na przykład użyj
1v
Powinieneś dokonać pewnych modyfikacji, aby móc używać1v
, blokowo lub liniowo.Dzisiaj zobaczyłem tę niesamowitą wskazówkę stąd :
Możesz także zresetować granice bloków wizualnych, robiąc to:
źródło
Używam tego z zawijaniem w trybie wcięcia:
v otwórz tryb Visual w dowolnym miejscu bloku
zaza wygoogluj go dwukrotnie
źródło