Cum selectez tot conținutul unui fișier în Vim și VsVim? Ca și în alți editori, ctrl+A
face treaba pentru selectarea tuturor.
Comentarii
Răspunde
ggVG
selectează tot conținutul. gg
trece la prima linie. V
pornește modul vizual. G
sare la ultima linie, selectând astfel de la prima la ultima linie
Comentarii
- Continuă să nu o comandă vim pentru ggVG și gg, chiar G
- 77 voturi pozitive și marcate ca răspuns acceptat, dar ' este greșit? Chiar și conform textului răspunsului în sine, combinația ar fi VggG.
Răspuns
Împreună cu SibiCoder ” Răspunsul, dacă aveți o idee clară despre ceea ce doriți să faceți, puteți utiliza următoarele:
:%X
Unde X
este o comandă, de exemplu:
:%d -> delete every line :%y -> yank every line :%normal! >> -> indent every line
Aveți și comanda globală :g
care, cu modelul de căutare ^
, poate face același lucru:
:g/^/d -> delete every line :g/^/y -> yank every line :g/^/normal! >> -> indent every line
Dacă ceea ce doriți este selectarea textului, atunci ggVG
este în regulă, dar rețineți aceste metode, în cazul în care știți deja care este următorul pas. Rețineți că nu va lăsa cursorul în modul vizual.
A se vedea: :h :%
și :h :g
pentru referință.
Rețineți că, chiar dacă maparea C-A
este utilizată în vim (consultați :h CTRL-A
), o puteți mapa la faceți ceea ce fac alți editori:
nnoremap <C-A> ggVG
Răspuns
Celelalte răspunsuri sunt bune . Iată o altă alternativă.
Întrucât menționați că utilizați VsVim, puteți schimba ce chei sunt gestionate de Visual Studio și ce chei sunt gestionate de vsvim. Accesați
Instrumente -> Opțiuni -> VsVim -> Tastatură
De acolo puteți seta Ctrl-a la să fie gestionat de Visual Studio, mai degrabă decât de VsVim.
Deși nu recomand acest lucru, deoarece nu veți putea folosi vim „s <C-a>
, ceea ce consider să fie o caracteristică esențială. Deși „depinde de tine.
Răspunde
poți folosi un număr mare ca 99999yy pentru a selecta tot conținutul fișierului dvs.
Comentarii
- Fișiere mai mari decât
100000
sunt posibile liniile, deși rare. De asemenea, folosireayy
le aruncă , nu selectați-le . - da sigur că aveți dreptate, dar când selectați ceva, ' este pentru cele mai multe cazuri să le tăiați, să le copiați sau să le ștergeți 🙂
- Asta este ' ceea ce aveam nevoie. Selectați toate și scoateți-le.
- Doar
:%y
este suficient. Sau:%y +
pentru a smulge totul din registrul+
.
Răspuns
După cum a menționat @SibiCoder ggVG
face trucul , dar îmi place ceva mai apropiat de Ctrl+A
.
Așa că am adăugat această linie la .vimrc
nnoremap <leader>a ggVG
Acum apăsând <leader>a
se va selecta totul, în cazul meu este „s \a
.
Comentarii
- Bun venit la Vi și Vim ! Teoretic ai putea map control a (
<C-a>
), dar se întâmplă să aibă o funcționalitate implicită utilă - Da, ' s de ce prefer
<leader>a
Răspunde
Dacă „d ca un mod mai rapid / mai intuitiv de a face acest lucru și nu vă deranjează să adăugați un plugin, acest lucru pare la îndemână: https://github.com/kana/vim-textobj-entire
ctrl+a
în alți editori evidențiază vizual întregul fișier .:chat!
, dar nu ați fost ' recent în această cameră, deci nu ar fi ' nu-mi permiteți)vsvim
era cavimperator
și acest tip de plugin-uri pentru alte software și astfel nu era subiect, așa că l-am eliminat, apoi am avut o îndoială, așa că am verificat meta și am văzut că era pe subiect , așa că am aprobat modificarea etichetei dvs., dar am uitat să modific din nou întrebarea. ' o schimb acum, îmi pare rău.