qual è il comando per “ Seleziona tutto ” in vim e VsVim?

Come seleziono tutto il contenuto di un file in Vim e VsVim? Come in altri editor, ctrl+A fa il lavoro per seleziona tutto.

Commenti

  • SibiCoder ' La risposta è buona, ma sarebbe utile sapere cosa intendi fare con il contenuto che hai copiato.
  • Innanzitutto, " seleziona " del testo in un " buffer ", non in un " file ". Due, " selezionare " è spesso inutile in Vim, quindi devi essere chiaro su cosa vuoi fare con questo " selezione ". Per te e per noi.
  • @romainly Penso che lOP significhi selezionare lintero file in modalità visuale, considerando che ctrl+a in altri editor evidenzia visivamente lintero file .
  • @statox Perché hai modificato vsvim ? ' non è un grosso problema per me, ma penso che il tag sia perfettamente appropriato e ' non volevo entrare una guerra di modifica. (Ti avrei inviato un ping in :chat!, ma ' non sei stato in quella stanza di recente, quindi non è stato ' t let me)
  • @DJMcMayhem: Era un errore: inizialmente ho pensato che vsvim fosse come vimperator e questo tipo di plugin per altri software e quindi era fuori tema, quindi lho rimosso, poi ho avuto un dubbio, quindi ho controllato meta e ho visto che era sullargomento , quindi ho approvato la modifica del tag ma ho dimenticato di modificare di nuovo la domanda. ' lo sto cambiando adesso, mi dispiace per quello.

Rispondi

ggVG seleziona tutto il contenuto. gg passa alla prima riga. V avvia la modalità di visualizzazione. G passa allultima riga selezionando così dalla prima allultima riga

Commenti

  • Continuo a non ricevere un comando vim per ggVG e gg, anche G
  • 77 voti positivi e contrassegnato come risposta accettata, ma ' è sbagliato? Anche in base al testo della risposta stessa la combinazione sarebbe VggG.

Risposta

Insieme a SibiCoder ” s risposta, se hai unidea chiara di cosa vuoi fare puoi utilizzare quanto segue:

:%X 

Dove X è un comando, ad esempio:

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

Hai anche il comando globale :g che, con il pattern di ricerca ^ può fare la stessa cosa:

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

Se quello che vuoi è selezionare il testo, quindi ggVG va bene, ma tieni presente questo metodo, nel caso in cui tu sappia già qual è il passaggio successivo. Tieni presente che non lascerà il cursore in modalità visuale.

Vedi: :h :% e :h :g per riferimento.


Nota che, anche se la mappatura C-A viene utilizzata in vim (vedi :h CTRL-A), puoi mapparla a fai quello che fanno gli altri editor:

nnoremap <C-A> ggVG 

Answer

Le altre risposte sono buone . Ecco unaltra alternativa.

Dato che hai detto che stai usando VsVim, puoi cambiare quali chiavi sono gestite da Visual Studio e quali chiavi sono gestite da vsvim. Vai a

Strumenti -> Opzioni -> VsVim -> Tastiera

Da lì puoi impostare Ctrl-a su essere gestito da Visual Studio, piuttosto che da VsVim.

Anche se non lo consiglio poiché non sarai in grado di utilizzare vim “s <C-a>, che trovo essere una caratteristica essenziale. Anche se dipende da te.

Rispondi

puoi utilizzare un numero grande come 99999yy per selezionare tutto il contenuto del file

Commenti

  • File più grandi sono possibili righe di 100000, anche se rare. Inoltre, lutilizzo di yy strappa loro, non selezionali .
  • Sì certo di avere ragione, ma quando selezioni qualcosa è ' per la maggior parte dei casi tagliarli, copiarli o eliminarli 🙂
  • Questo ' è ciò di cui avevo bisogno. Seleziona tutto e strattona.
  • Solo :%y è sufficiente. Oppure :%y + estrarre tutto nel registro +.

Risposta

Come menzionato da @SibiCoder ggVG fa il trucco , ma mi piace qualcosa di più vicino a Ctrl+A.

Quindi ho aggiunto questa riga al mio .vimrc

nnoremap <leader>a ggVG 

Ora premendo <leader>a selezionerò tutto, nel mio caso “s \a.

Commenti

  • Benvenuto in Vi e Vim ! Teoricamente potresti map control a (<C-a>), ma sembra avere unutile funzionalità predefinita
  • Sì, quella ' s perché preferisco <leader>a

Rispondi

Se “d come un modo più veloce / più intuitivo per farlo e non importa aggiungere un plug-in, sembra utile: https://github.com/kana/vim-textobj-entire

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *