jakie jest polecenie „Select All” w vim i VsVim?

26

Jak wybrać całą zawartość pliku w Vimie i VsVimie? Podobnie jak w innych edytorach, ctrl+Awykonuje zadanie zaznaczania wszystkich.

Armaan
źródło
3
Odpowiedź SibiCodera jest dobra, ale dobrze byłoby wiedzieć, co zamierzasz zrobić z skopiowanymi treściami.
Law29
5
Najpierw „zaznaczasz” jakiś tekst w „buforze”, a nie w „pliku”. Po drugie, „wybieranie” jest często bezużyteczne w Vimie, więc musisz mieć jasność co do tego, co chcesz zrobić z tym „wyborem”. Dla ciebie i dla nas.
romainl
3
@romainly Myślę, że OP oznacza wybranie całego pliku w trybie wizualnym, biorąc pod uwagę, że ctrl+aw innych edytorach wizualnie wyróżnia cały plik.
EvergreenTree,
@statox Dlaczego edytowałeś vsvim out? Nie jest to dla mnie wielka sprawa, ale myślę, że tag jest całkowicie odpowiedni i nie chciałem brać udziału w wojnie edycyjnej. (Zaskoczyłbym cię :chat!, ale nie byłeś ostatnio w tym pokoju, więc mi to nie pozwoli)
James
@DJMcMayhem: To był błąd: najpierw pomyślałem, że vsvimto jest jak vimperatori tego rodzaju wtyczki do innych programów, a więc nie jest to temat, więc go usunąłem, potem miałem wątpliwości, więc sprawdziłem meta i zobaczyłem, że to na temat, więc zatwierdziłem edycję tagu, ale zapomniałem ponownie edytować pytanie. Teraz to zmieniam, przepraszam za to.
statox

Odpowiedzi:

30

ggVGzaznacza całą zawartość. ggprzechodzi do pierwszej linii. Vuruchamia tryb wizualny. Gprzeskakuje do ostatniej linii, tym samym wybierając od pierwszej do ostatniej linii

SibiCoder
źródło
17

Wraz z odpowiedzią SibiCoder, jeśli masz jasny obraz tego, co chcesz zrobić, możesz użyć następujących opcji:

:%X

Gdzie Xjest polecenie, na przykład:

:%d             -> delete every line
:%y             -> yank every line
:%normal! >>    -> indent every line

Masz również polecenie globalne, :gktóre przy użyciu wzorca wyszukiwania ^może zrobić to samo:

:g/^/d             -> delete every line
:g/^/y             -> yank every line
:g/^/normal! >>    -> indent every line

Jeśli chcesz wybrać tekst, to ggVGjest w porządku, ale pamiętaj o tej metodzie, w przypadku, gdy już wiesz, jaki jest następny krok. Pamiętaj, że nie pozostawi kursora w trybie wizualnym.

Zobacz: :h :%i w :h :gcelach informacyjnych.


Zauważ, że chociaż C-Amapowanie jest używane w vimie (patrz :h CTRL-A), możesz zmapować go tak, aby robił to, co robią inni redaktorzy:

nnoremap <C-A> ggVG
nobe4
źródło
4

Inne odpowiedzi są dobre. Oto kolejna alternatywa.

Ponieważ wspominasz, że używasz VsVim, możesz zmienić, które klucze są obsługiwane przez Visual Studio, a które klucze są obsługiwane przez vsvim. Iść do

Narzędzia -> Opcje -> VsVim -> Klawiatura

Stamtąd możesz ustawić Ctrl-a do obsługi przez Visual Studio, a nie VsVim.

Chociaż nie polecam tego, ponieważ nie będziesz mógł używać vima <C-a>, co uważam za istotną funkcję. Chociaż to zależy od ciebie.

James
źródło
0

możesz użyć dużej liczby, np. 99999yy, aby wybrać całą zawartość pliku

Adel Kihal
źródło
3
Pliki większe niż 100000linie są możliwe, choć rzadkie. Ponadto używanie yybędzie ich szarpać , a nie wybierać .
James
1
tak, masz rację, ale przy wyborze czegoś w większości przypadków jest to wycinanie, kopiowanie lub usuwanie :)
Adel Kihal
Właśnie tego potrzebowałem. Wybierz wszystko i szarpnij.
Ivan