wat is het commando voor “ Alles selecteren ” in vim en VsVim?

Hoe selecteer ik alle inhoud van een bestand in Vim en VsVim? Net als in andere editors doet ctrl+A het werk voor alles selecteren.

Reacties

  • SibiCoder ' s antwoord is goed, maar het zou handig zijn om te weten wat je van plan bent te doen met de inhoud die je hebt gekopieerd.
  • Ten eerste moet je " selecteer " tekst in een " buffer ", niet in een " bestand ". Twee, " selecteren van " is vaak nutteloos in Vim, dus je moet duidelijk zijn over wat je ermee wilt doen " selectie ". Voor jou en voor ons.
  • @romainly denk ik dat het OP betekent dat het hele bestand in visuele modus moet worden geselecteerd, aangezien ctrl+a in andere editors het hele bestand visueel markeert .
  • @statox Waarom heeft u vsvim bewerkt? Het ' is niet zon groot probleem voor mij, maar ik denk dat de tag perfect geschikt is, en ik ' wilde niet binnenkomen een bewerkingsoorlog. (Ik zou je in :chat! hebben gepingd, maar je bent onlangs ' niet in die kamer geweest, dus het zou niet ' t let me)
  • @DJMcMayhem: Het was een fout: ik dacht eerst dat vsvim leek op vimperator en dit soort plug-ins voor andere software en was dus buiten het onderwerp, dus ik verwijderde het, daarna twijfelde ik, dus ik controleerde meta en zag dat het was over onderwerp , dus ik heb je tagbewerking goedgekeurd, maar ben vergeten de vraag opnieuw te bewerken. Ik ' m verander dat nu, sorry daarvoor.

Antwoord

ggVG selecteert alle inhoud. gg gaat naar de eerste regel. V start de visuele modus. G springt naar de laatste regel en selecteert daarbij van de eerste naar de laatste regel

Opmerkingen

  • Ik krijg steeds nee een vim-commando voor ggVG en gg, zelfs G
  • 77 upvotes en gemarkeerd als het geaccepteerde antwoord, maar ' is fout? Zelfs volgens de tekst van het antwoord zelf zou de combinatie VggG zijn.

Answer

Samen met SibiCoder ” s antwoord, als u een duidelijk idee heeft van wat u wilt doen, kunt u het volgende gebruiken:

:%X 

Waar X is een commando, bijvoorbeeld:

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

Je hebt ook het globale commando :g die, met het zoekpatroon ^, kan hetzelfde doen:

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

Als je de tekst wilt selecteren, dan is ggVG prima, maar onthoud deze methode, voor het geval je al weet wat de volgende stap is. Merk op dat het de cursor niet in visuele modus laat staan.

Zie: :h :% en :h :g ter referentie.


Merk op dat, hoewel de C-A mapping wordt gebruikt in vim (zie :h CTRL-A), je kunt het toewijzen aan doe wat andere editors doen:

nnoremap <C-A> ggVG 

Antwoord

De andere antwoorden zijn goed . Hier is een ander alternatief.

Aangezien u vermeldt dat u VsVim gebruikt, kunt u wijzigen welke sleutels worden afgehandeld door visual Studio en welke sleutels worden afgehandeld door vsvim. Ga naar

Extra -> Opties -> VsVim -> Toetsenbord

Van daaruit kun je Ctrl-a instellen op worden afgehandeld door Visual Studio, in plaats van VsVim.

Hoewel ik dit niet aanbeveel, omdat je vim “s <C-a> niet kunt gebruiken, wat ik vind om een essentieel kenmerk te zijn. Hoewel het aan jou is.

Answer

je kunt een groot getal gebruiken zoals 99999yy om alle inhoud van uw bestand te selecteren

Opmerkingen

  • Bestanden groter dan 100000 regels zijn mogelijk, hoewel zeldzaam. Als u yy gebruikt, worden ze teruggetrokken , niet selecteer ze.
  • ja, je hebt zeker gelijk, maar als je iets selecteert, wordt het ' in de meeste gevallen geknipt, gekopieerd of verwijderd 🙂
  • Dat ' is wat ik nodig had. Selecteer alles en trek eraan.
  • Gewoon :%y is voldoende. Of :%y + om alles in het + register te verwijderen.

Antwoord

Zoals @SibiCoder zei, ggVG doet het , maar ik hou van iets dat dichter bij Ctrl+A ligt.

Dus ik heb deze regel toegevoegd aan mijn .vimrc

nnoremap <leader>a ggVG 

Als u nu op <leader>a drukt, wordt alles geselecteerd, in mijn geval is het “s \a.

Reacties

  • Welkom bij Vi en Vim ! Theoretisch zou je dat kunnen map control a (<C-a>), maar het heeft toevallig een handige standaardfunctionaliteit
  • Ja, dat ' s waarom ik de voorkeur geef aan <leader>a

Answer

Als je “d als een snellere / meer intuïtieve manier om dit te doen en vind het niet erg om een plug-in toe te voegen, dit ziet er handig uit: https://github.com/kana/vim-textobj-entire

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *