2012-02-02 14 views

risposta

38

Utilizzare il blocco visivo (ctrl-v) per tagliare la colonna della lettera. Quindi passare alla prima riga della colonna del numero. Sposta alla fine e crea uno spazio. Quindi incollare la colonna della lettera.

+0

C'è qualcosa di speciale nel tagliare/strappare in modalità blocco visivo? Il mio problema adesso è che il registro che sto usando è in realtà il registro '*', che significa gli appunti del sistema. –

+1

Lo stesso registro viene usato per plain 'y' e' p', se non stai specificando uno speciale con '". – Matej

+1

Trovo utile questo bel plugin di Ingo Karkat quando vuoi "lanciare" una pasta. http://www.vim.org/scripts/script.php?script_id=3355 –

14

si dispone di:

abc 
def 
ghi 

123 
456 
789 

Spostare il cursore sul a. Quindi CTRL+V e sposta il cursore su i. Premere .

Quindi, aggiungere uno spazio dopo il carattere 3 e premere p.

Fatto.

41

Mi chiedevo perché "modalità di blocco visivo" non funzionava per me. La chiave è yank (o elimina) in modalità visiva.

Mi trovo a dover copiare alcune cose da colonne excel aventi lunghezze variabili. Ecco come faccio:

Names 
Donald Knuth 
Sebastian Thrun 
Peter Norvig 
Satoshi Nakamoto 

Age 
100 
50 
60 
45 

Diciamo che vuoi mettere la seconda colonna dopo la prima.

  1. Yank in modalità visiva:
    • Sposta il cursore all'inizio del Age
    • Press Ctrl + v per entrare in modalità visiva
    • Spostare il cursore 5 in 45
    • Press y dare uno strattone (oppure d da eliminare)

Ora è stato selezionato in modalità visuale.

  1. Incolla (in modalità normale)

    • Spostarsi alla fine della prima linea e aggiungere più spazi perché è più corta della seconda linea, per esempio. Se si incolla un "blocco" senza aggiungere spazi aggiuntivi, si sovrascriverà la "corsa" in Sebastian Thrun.

    • Ora sei sulla prima riga, inserisci alcuni spazi dopo l'ultimo carattere. Assicurati di non essere in modalità di inserimento e premi p per incollare il blocco. (Se si desidera incollare in modalità di inserimento, utilizzare ctrl+r ")

enter image description here

+0

@Abdo: Grazie, questo mi ha aiutato. Tuttavia, sebbene l'incollamento in modalità normale funzioni come previsto, l'inserimento con 'ctrl + r" 'non funziona come descritto. È così che dovrebbe essere? – Xiphias

+0

@Xiphias digita': registers' e guarda cosa hai lì dentro. hai qualcosa sotto '" ', probabilmente stai scrivendo' ctrl + r ''(assicurati di mantenere il turno) – Abdo

+0

In realtà, si chiama" Visual Block Mode ", non solo" Visual Mode ". – Fritz

2

Questo può sembrare ovvio, ma se si incolla da un buffer copiato esternamente non funzionerà con un solo visiva modalità incolla. Quello che puoi fare è prima fare una normale incolla in un'area vuota e tagliare/incollare verticale usando il metodo sopra.

0

Se vuoi impostare manualmente il tipo di registro per dire a blocchi, utilizzare questo

:call setreg(0, getreg(0), 'b') 

o

:call setreg('*', getreg('*'), 'b') 

Utile per incollare una colonna da un editor di fogli di calcolo.

Vedere :help setreg e vimtip per dettagli.

Problemi correlati