Domanda

Come faccio a duplicare l'intera riga in Vim in modo simile a Ctrl+D in IntelliJ IDEA/Resharper o Ctrl+Alt+/ in Eclipse?

È stato utile?

Soluzione

yy o Y per copiare la riga
o
dd per eliminare (taglio) la linea

quindi

p per incollare il copiati o cancellati del testo dopo la riga corrente
o
P per incollare il copiati o cancellati del testo prima la riga corrente

Altri suggerimenti

Modalità normale:visualizzare altre risposte.

Il Ex modo:

  • :t. duplica la riga,
  • :t 7 copia dopo la riga 7,
  • :,+t0 copia attuali e di nuova riga all'inizio del file (,+ è un sinonimo per la gamma .,.+1),
  • :1,t$ copia le righe dall'inizio fino alla posizione del cursore fino alla fine (1, è un sinonimo per la gamma 1,.).

Se è necessario spostare invece di copiare, utilizzare :m invece di :t.

Questo può essere davvero potente se si combinano con :g o :v:

  • :v/foo/m$ spostare tutte le righe che non corrispondono al modello “pippo” alla fine del file.
  • :+,$g/^\s*class\s\+\i\+/t. copia tutte le righe successive del modulo class xxx subito dopo il cursore.

Riferimento: :help range, :help :t, :help :g, :help :m e :help :v

YP o Yp o yyp.

copy and paste in vim

Non c'è niente di più semplice di così!Dalla modalità normale:

yy

quindi spostare la linea che si desidera incollare nella e

p

yy

si copia la riga corrente, senza eliminarlo

dd

cancella la riga corrente

p

sarà put una linea afferrato da uno dei metodi precedenti

Se si desidera che un altro modo :-)

"ayy questo negozio la riga nel buffer a

"ap questo metterà il contenuto del buffer a in corrispondenza del cursore.

Ci sono molte variazioni su questo.

"a5yy questo memorizzerà le 5 linee di buffer a

vedere http://www.vim.org/htmldoc/help.html per più divertimento

Fare questo:

Prima, yy per copiare la riga corrente, e quindi p per incollare.

yyp - ricordo con "urrà!"

Più righe con un numero tra:

y7yp

yyp - incolla dopo

yyP - prima di incollare

Si può anche provare <C-x><C-l> che ripeterà l'ultima riga da inserire modalità e porta un completamento finestra con tutte le linee.Funziona quasi come <C-p>

Un'altra opzione sarebbe quella di andare con:

nmap <C-d> mzyyp`z

ti dà il vantaggio di conservare la posizione del cursore.

Per qualcuno che non conosco, vi, alcune risposte da parte di sopra potrebbe indurre in errore lui con frasi come "incolla ...prima/dopo riga corrente".
In realtà è "incolla ...prima/dopo cursore".

yy o Y per copiare la riga
o
dd per eliminare la riga

quindi

p per incollare il copiati o cancellati del testo dopo il cursore
o
P per incollare il copiati o cancellati del testo prima il cursore


Per maggiori associazioni di tasti, è possibile visitare questo sito: vi Chiave Completo Elenco Vincolante

Mi piace:Shift+v (per selezionare l'intera riga immediatamente e consente di selezionare altre linee se si desidera), y, p

1 gotcha:quando si utilizza la "p" per mettere la linea, lo mette dopo la linea è posizionato il cursore, quindi se si desidera aggiungere la riga dopo la riga che si sta tirando, non spostare il cursore in basso di una riga prima di mettere la nuova linea.

Di Default è yyp, ma io ho usato la riassociazione per un anno o giù di lì e l'amore:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv

So di essere in ritardo alla festa, ma qualunque cosa;Ho nel mio .vimrc:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

il :copy comando copia la riga selezionata o l'intervallo (sempre intere linee) al di sotto del numero di linea dato come argomento.

In modalità normale quello che fa è copy . copia questa riga al di sotto di questa linea.

E in modalità visiva si trasforma in '<,'> copy '> copia dall'inizio della selezione al fine della selezione per la linea sotto la fine della selezione.

Per coloro che iniziano a imparare vi, qui è una buona introduzione al vi elenco a fianco vi comandi tipici della GUI di Windows Editor di movimento del cursore e i tasti di scelta rapida.Esso elenca tutti i comandi di base tra cui yy (copia) e p (pasta) o P(la pasta prima).

vi (Vim) per gli Utenti Windows

Se si desidera duplicare una linea e incollarlo subito al di sotto dell'attuale piace, proprio come nel Sublime Ctrl+Shift+D, poi si può aggiungere al .vimrc file.

imap <S-C-d> <Esc>Yp

Mi piace usare questa mappatura:

:nnoremap yp Yp

perché rende coerente usare insieme nativo YP comando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top