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
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 diyystrappa 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
ctrl+ain altri editor evidenzia visivamente lintero file .:chat!, ma ' non sei stato in quella stanza di recente, quindi non è stato ' t let me)vsvimfosse comevimperatore 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.