Hur väljer jag allt innehåll i en fil i Vim och VsVim? Som i andra redaktörer gör ctrl+A
jobbet för att välja alla.
Kommentarer
Svar
ggVG
väljer allt innehåll. gg
flyttar till första raden. V
startar visuellt läge. G
hoppar till sista raden och väljer därmed från första till sista raden
Kommentarer
- Jag får ingen ett vim-kommando för ggVG och gg, till och med G
- 77 uppröstningar och markerat som accepterat svar ändå är det ' fel? Även enligt själva svaret skulle kombinationen vara VggG.
Svar
Tillsammans med SibiCoder ” s svar, om du har en klar uppfattning om vad du vill göra kan du använda följande:
:%X
Var X
är ett kommando, till exempel:
:%d -> delete every line :%y -> yank every line :%normal! >> -> indent every line
Du har också det globala kommandot :g
som med sökmönstret ^
, kan göra samma sak:
:g/^/d -> delete every line :g/^/y -> yank every line :g/^/normal! >> -> indent every line
Om det du vill är att välja text, då är ggVG
bra, men kom ihåg den här metoden om du redan vet vad som är nästa steg. Observera att den inte lämnar markören i visuellt läge.
Se: :h :%
och :h :g
för referens.
Observera att även om C-A
-mappningen används i vim (se :h CTRL-A
), du kan mappa den till gör vad andra redaktörer gör:
nnoremap <C-A> ggVG
Svar
De andra svaren är bra . Här är ett annat alternativ.
Eftersom du nämner att du använder VsVim kan du ändra vilka nycklar som hanteras av visual Studio och vilka nycklar som hanteras av vsvim. Gå till
Verktyg -> Alternativ -> VsVim -> Tangentbord
Därifrån kan du ställa in Ctrl-a till hanteras av Visual Studio snarare än VsVim.
Även om jag inte rekommenderar detta eftersom du inte kommer att kunna använda vim ”s <C-a>
, vilket jag hittar att vara en viktig funktion. Även om det är upp till dig.
Svar
kan du använda ett stort nummer som 99999yy för att välja allt innehåll i din fil
Kommentarer
- Filer större än
100000
rader är möjliga, även om de är sällsynta. Att användayy
kommer att ge dem , inte välj dem. - ja visst att du har rätt men när du väljer något ' är det för de flesta fall att klippa, kopiera eller ta bort dem 🙂
- Det ' är vad jag behövde. Välj allt och skicka.
- Bara
:%y
räcker. Eller:%y +
för att rycka allt i+
-registret.
Svar
Som @SibiCoder nämnde ggVG
gör tricket , men jag gillar något närmare Ctrl+A
.
Så jag lade till den här raden i min .vimrc
nnoremap <leader>a ggVG
Nu trycker du på <leader>a
för att välja allt, i mitt fall är det ”s \a
.
Kommentarer
- Välkommen till Vi och Vim ! Teoretiskt sett kan du kartkontroll a (
<C-a>
), men det råkar ha en användbar standardfunktion - Ja, att ' s varför föredrar jag
<leader>a
Svar
Om du ”d som ett snabbare / mer intuitivt sätt att göra detta och tänker inte lägga till ett plugin, detta ser bra ut: https://github.com/kana/vim-textobj-entire
ctrl+a
i andra redaktörer visuellt lyfter fram hela filen .:chat!
, men du har inte ' inte varit i det rummet nyligen, så det skulle inte vara ' t låt mig)vsvim
var somvimperator
och den här typen av plugins för andra programvaror och därmed var av ämnet så jag tog bort det, då hade jag tvivel så jag kollade meta och såg att det var om ämnet så jag godkände redigeringen av din tagg men glömde att redigera frågan igen. Jag ' ändrar det just nu, ledsen för det.