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
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 uyy
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
ctrl+a
in andere editors het hele bestand visueel markeert .:chat!
hebben gepingd, maar je bent onlangs ' niet in die kamer geweest, dus het zou niet ' t let me)vsvim
leek opvimperator
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.