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