tutorial - vim selecionar tudo e copiar




Duplicar uma linha inteira no Vim (13)

1 pegadinha: quando você usa "p" para colocar a linha, ela é colocada depois da linha em que o cursor está, portanto, se você quiser adicionar a linha depois da linha que está girando, não mova o cursor para baixo de uma linha antes de colocar a nova linha.

Como faço para duplicar uma linha inteira no Vim de forma semelhante ao Ctrl + D no IntelliJ IDEA / Resharper ou Ctrl + Alt + / no Eclipse?


Eu gosto de usar este mapeamento:

:nnoremap yp Yp

porque torna consistente a utilização juntamente com o comando YP nativo.


Eu sei que estou atrasado para a festa, mas seja o que for; Eu tenho isso no meu .vimrc:

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

o comando :copy apenas copia a linha selecionada ou o intervalo (sempre linhas inteiras) abaixo do número de linha dado como argumento.

No modo normal, o que isso faz é copy . copie esta linha para logo abaixo dessa linha .

E no modo visual, ele se transforma em '<,'> copy '> copy do início da seleção até o final da seleção até a linha abaixo do final da seleção .


Faça isso:

Primeiro, y para copiar a linha atual e, em seguida, p para colar.


O padrão é y y p , mas eu tenho usado essa religação por um ano ou mais e adoro isso:

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


Outra opção seria ir com:

nmap <C-d> mzyyp`z

dá-lhe a vantagem de preservar a posição do cursor.


Para aqueles que estão começando a aprender o vi, aqui está uma boa introdução ao vi listando os comandos vi lado a lado com as teclas de atalho e movimento típicos do cursor do Windows GUI Editor. Ele lista todos os comandos básicos, incluindo yy (linha de cópia) e p (colar depois) ou P (colar antes).

vi (Vim) para usuários do Windows


Se você gostaria de duplicar uma linha e colá-la logo abaixo do atual, assim como no Sublime Ctrl + Shift + D , então você pode adicionar isso ao seu arquivo .vimrc .

imap <SCd> <Esc>Yp


Você também pode tentar <Cx> <Cl>, que repetirá a última linha do modo de inserção e exibirá uma janela de conclusão com todas as linhas. Funciona quase como <Cp>


YP ou Yp ou yyp .


y y p - cole depois

y y P - colar antes


y y p - lembre-se com "yippee!"

Várias linhas com um número entre elas:

y y y p


Não fica mais simples que isso! Do modo normal:

yy

em seguida, mova para a linha que você deseja colar e

p




vi