2010-09-17 15 views
33

Dire che ho questa semplice testo in (g) Vim:Come si seleziona un'intera colonna in modalità blocco visivo?

a b c 
a b c 
a b c 
a b c 
a b c 

dopo la modifica alla modalità di selezione del blocco visiva come posso possibile selezionare l'intero 3 ° colonna? Ctrl + VG seleziona tutto il testo. Sto cercando una scorciatoia da tastiera per selezionare un'intera selezione di colonne, se esiste.

Grazie.

risposta

23

G va all'ultima linea, ma si sposta il cursore nella prima posizione non vuota se il startofline o compatible (che consente startofline) opzioni vengono impostate. Se si desidera mantenere la stessa colonna, impostare nosol prima di passare alla modalità di blocco visivo, quindi premere G.

Dal inserimento manuale per startofline:

Quando "a" i comandi elencati sotto spostano il cursore al primo non vuota della linea. Quando viene disattivato il cursore viene mantenuto nella stessa colonna (se possibile). Questo vale per i comandi: CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", gg, e ai comandi "d", "< < "e" >> "con un operatore linewise, con"% "con un conteggio e per bufferare i comandi di modifica (CTRL- ^,: bnext,: bNext, ecc.).

+4

Bello, "set nosol" va direttamente nel mio .vimrc. In realtà mi è piaciuta anche la risposta cancellata, per un file di lunghezza sconosciuta 9999j o un grosso numero fa il trucco per la stessa selezione di colonne. –

+0

Se il tuo .vimrc imposta anche 'compatible', assicurati che' set nosol' venga dopo quella linea. –

+0

Questo mi ha infastidito da anni, grazie! Direttamente nel file .vimrc come dice Gökhan Sever :) – KomodoDave

35

CTRL-V entra in modalità di selezione di blocco (che consente di selezionare blocchi rettangolari di testo). In gvim questo è in conflitto con la scorciatoia di Windows, quindi puoi usare CTRL-Q.

Sfortunatamente, CTRL-Q [G] non fa ciò che desideri visto che il movimento [G] si muove linearmente attraverso il file, quindi devi ancora fare affidamento su un movimento conteggiato [j] . È possibile evitare di sapere esattamente quanto grande è il file utilizzando un conteggio oscenamente grande, come 9999. Quindi il comando completo è CTRL-Q [9999j].

Purtroppo non conosco un modo per evitare il brutto tentativo di conteggiare.

EDIT: Oh, ho letto la tua domanda troppo in fretta e mi manca che hai già detto che sei nuovo sulla modalità di blocco visivo. Immagino che questa sia una risposta piuttosto inutile, quindi, scusa!

+0

Nessun problema :) una risposta è una risposta. Grazie per il tuo tempo per leggere e rispondere in ogni caso. –

4

Il modo più semplice per la selezione di colonna è possibile utilizzare plug vis.vim

andare in modalità visiva, selezionare la colonna ctrl+v, allora si può fare quello che vuoi con esso

Usa V, v o Ctrl + V visivamente marcare qualche tipo region.Then :B cmd (apparirà questo comando come: :'<,'>B cmd)

Il comando verrà quindi applicato solo alla regione selezionata visivamente.

Ad esempio:

Usa ctrl-v per selezionare una colonna e poi fare un sostituto solo su quella colonna.

Ctrl-V ..move .. :B s/pattern/becomes/

Uso Ctrl-V per selezionare una colonna, quindi applicare un filtro esterno a solo quella colonna:

Ctrl-V. .move .. :B !sort

+0

E492: Non un comando editor: B s/123123123/asdasd/g – Ilja

+1

Non capisco ... –

Problemi correlati