hva er kommandoen for “ Velg alle ” i vim og VsVim?

Hvordan velger jeg alt innholdet i en fil i Vim og VsVim? Som i andre redaktører ctrl+A gjør jobben for å velge alle.

Kommentarer

  • SibiCoder ' svaret er bra, men det ville være nyttig å vite hva du har tenkt å gjøre med innholdet du kopierte.
  • Først " velg " litt tekst i en " buffer ", ikke i en " fil ". To, " å velge " er ofte ubrukelig i Vim, så du må være tydelig på hva du vil gjøre med den " valg ". For deg og for oss.
  • @ hovedsakelig tror jeg OP betyr å velge hele filen i visuell modus, med tanke på at ctrl+a i andre redaktører fremhever visuelt hele filen .
  • @statox Hvorfor redigerte du vsvim ut? Det ' er ikke veldig bra for meg, men jeg synes taggen er helt passende, og jeg ville ikke ' ikke komme inn en redigeringskrig. (Jeg ville ha pinget deg i :chat!, men du har ikke ' ikke vært i det rommet nylig, så det ville ikke ' t let me)
  • @DJMcMayhem: Det var en feil: Jeg trodde først at vsvim var som vimperator og denne typen plugins for andre programvare og dermed var utenfor emnet, så jeg fjernet den, så hadde jeg tvil så jeg sjekket meta og så at det var om emnet så jeg godkjente redigeringen av taggen din, men glemte å redigere spørsmålet på nytt. Jeg ' jeg endrer det akkurat nå, beklager det.

Svar

ggVG velger alt innhold. gg flytter til første linje. V starter visuell modus. G hopper til siste linje og velger dermed fra første til siste linje

Kommentarer

  • Jeg får stadig ingen en vim-kommando for ggVG og gg, til og med G
  • 77 oppvoter og markert som akseptert svar, men ' er feil? Selv i følge teksten i selve svaret vil kombinasjonen være VggG.

Svar

Sammen med SibiCoder » s svar, hvis du har en klar ide om hva du vil gjøre, kan du bruke følgende:

:%X 

Hvor X er en kommando, for eksempel:

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

Du har også den globale kommandoen :g som med søkemønsteret ^, kan gjøre det samme:

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

Hvis du ønsker å velge teksten, da er ggVG greit, men husk denne metoden, i tilfelle du allerede vet hva som er neste trinn. Merk at den ikke vil la markøren være i visuell modus.

Se: :h :% og :h :g for referanse.


Legg merke til at selv om C-A -kartleggingen brukes i vim (se :h CTRL-A), kan du tilordne den til gjør hva andre redaktører gjør:

nnoremap <C-A> ggVG 

Svar

De andre svarene er gode . Her er et annet alternativ.

Siden du nevner at du bruker VsVim, kan du endre hvilke nøkler som håndteres av visual Studio, og hvilke nøkler som håndteres av vsvim. Gå til

Verktøy -> Alternativer -> VsVim -> Tastatur

Derfra kan du sette Ctrl-a til håndteres av Visual Studio, i stedet for VsVim.

Selv om jeg ikke anbefaler dette siden du ikke vil kunne bruke vim «s <C-a>, som jeg finner å være en viktig funksjon. Selv om det er opp til deg.

Svar

kan du bruke et stort tall som 99999yy for å velge alt innholdet i filen

Kommentarer

  • Større filer enn 100000 linjer er mulige, men sjeldne. Bruk yy vil yank dem, ikke velg dem.
  • yah at du har rett, men når du velger noe, ' er det for de fleste tilfeller å klippe, kopiere eller slette dem 🙂
  • At ' er det jeg trengte. Velg alt og takk.
  • Bare :%y er nok. Eller :%y + for å rykke alt i + -registeret.

Svar

Som @SibiCoder nevnte ggVG gjør susen , men jeg liker noe nærmere Ctrl+A.

Så jeg la til denne linjen i .vimrc

nnoremap <leader>a ggVG 

Trykk nå på <leader>a vil velge alt, i mitt tilfelle er det «s \a.

Kommentarer

  • Velkommen til Vi og Vim ! Teoretisk sett kan du kartkontroll a (<C-a>), men det har tilfeldigvis en nyttig standardfunksjonalitet
  • Ja, at ' s hvorfor jeg foretrekker <leader>a

Svar

Hvis du «d som en raskere / mer intuitiv måte å gjøre dette og ikke har noe imot å legge til et plugin, dette ser praktisk ut: https://github.com/kana/vim-textobj-entire

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *