care este comanda pentru “ Selectați tot ” în vim și VsVim?

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

  • SibiCoder ' Răspunsul este bun, dar ar fi util să știți ce intenționați să faceți cu conținutul pe care l-ați copiat.
  • Mai întâi, " selectați " un text într-un " tampon ", nu într-un " fișier ". Două, " selectând " este adesea inutilă în Vim, deci trebuie să fiți clar ce doriți să faceți cu acel " selection ". Pentru dvs. și pentru noi.
  • @romainly cred că OP înseamnă selectarea întregului fișier în modul vizual, având în vedere că ctrl+a în alți editori evidențiază vizual întregul fișier .
  • @statox De ce ați editat vsvim ? ' nu este o afacere uriașă pentru mine, dar cred că eticheta este perfect potrivită și nu ' nu am vrut să intru un război de editare. (V-aș fi făcut ping în :chat!, dar nu ați fost ' recent în această cameră, deci nu ar fi ' nu-mi permiteți)
  • @DJMcMayhem: A fost o eroare: am crezut mai întâi că vsvim era ca vimperator ș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.

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, folosirea yy 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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *