Jak wybrać całą zawartość pliku w Vimie i VsVimie? Podobnie jak w innych edytorach ctrl+A
wykonuje zadanie dla zaznaczenia wszystkich.
Komentarze
Odpowiedź
ggVG
zaznacza całą zawartość. gg
przechodzi do pierwszej linii. V
uruchamia tryb wizualny. G
przeskakuje do ostatniej linii, wybierając tym samym od pierwszej do ostatniej linii
Komentarze
- Ciągle otrzymuję nie polecenie vim dla ggVG i gg, nawet G
- 77 głosów za i oznaczonych jako zaakceptowana odpowiedź, ale ' jest źle? Nawet zgodnie z treścią samej odpowiedzi kombinacją będzie VggG.
Odpowiedź
Wraz z SibiCoder ” Jeśli masz jasne wyobrażenie o tym, co chcesz zrobić, możesz użyć następującego:
:%X
Gdzie X
to polecenie, na przykład:
:%d -> delete every line :%y -> yank every line :%normal! >> -> indent every line
Masz również globalne polecenie :g
, które wraz z wzorzec wyszukiwania ^
, może zrobić to samo:
:g/^/d -> delete every line :g/^/y -> yank every line :g/^/normal! >> -> indent every line
Jeśli chcesz zaznaczyć tekst, wtedy ggVG
jest w porządku, ale pamiętaj o tej metodzie, jeśli już wiesz, jaki jest następny krok. Pamiętaj, że nie pozostawi on kursora w trybie wizualnym.
Zobacz: :h :%
i :h :g
w celach informacyjnych.
Pamiętaj, że mimo mapowanie C-A
jest używane w vimie (patrz :h CTRL-A
), możesz je zamapować na zrób to, co robią inni redaktorzy:
nnoremap <C-A> ggVG
Odpowiedź
Pozostałe odpowiedzi są dobre . Oto kolejna alternatywa.
Ponieważ wspomniałeś, że używasz VsVim, możesz zmienić, które klawisze są obsługiwane przez Visual Studio, a które z vsvim. Idź do
Narzędzia -> Opcje -> VsVim -> Klawiatura
Stamtąd możesz ustawić Ctrl-a na być obsługiwane przez Visual Studio, a nie VsVim.
Chociaż nie polecam tego, ponieważ nie będziesz mógł używać <C-a>
vima, co uważam za być istotną cechą. Chociaż to zależy od Ciebie.
Odpowiedź
możesz użyć dużej liczby, na przykład 99999yy aby zaznaczyć całą zawartość pliku
Komentarze
- Pliki większe niż
100000
linie są możliwe, choć rzadkie. Ponadto użycieyy
spowoduje ich szarpnięcie , a nie wybierz je. - tak, na pewno masz rację, ale wybierając coś, ' s w większości przypadków do wycinania, kopiowania lub usuwania 🙂
- To ' jest tym, czego potrzebowałem. Zaznacz wszystko i szarpnij.
- Po prostu
:%y
wystarczy. Lub:%y +
, aby wyszarpnąć wszystko w rejestrze+
.
Odpowiedź
Jak wspomniał @SibiCoder ggVG
załatwia sprawę , ale lubię coś bliższego Ctrl+A
.
Dlatego dodałem tę linię do mojego .vimrc
nnoremap <leader>a ggVG
Teraz naciśnięcie <leader>a
spowoduje zaznaczenie wszystkiego, w moim przypadku „s \a
.
Komentarze
- Witamy w Vi i Vimie ! Teoretycznie możesz map control a (
<C-a>
), ale zdarza się, że ma użyteczną domyślną funkcjonalność - Tak, że ' s dlaczego wolę
<leader>a
Odpowiedź
Jeśli „d jak szybszy / bardziej intuicyjny sposób na zrobienie tego i nie przejmuj się dodawaniem wtyczki, wygląda to poręcznie: https://github.com/kana/vim-textobj-entire
ctrl+a
w innych edytorach wizualnie podświetla cały plik .:chat!
, ale nie ' nie byłeś ostatnio w tym pokoju, więc nie ' nie pozwól mi)vsvim
jest jakvimperator
i tego rodzaju wtyczek do innych programów, więc nie było to tematem, więc je 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 zmienić ponownie pytania. ' zmieniam to teraz, przepraszam za to.