OK, aqui está uma cartilha "puxe e ponha"…
No Vim, os comandos principais para puxar (copiar) e colocar (colar) são y
e p
.
Yanking coloca o texto arrancado em um registro. Esse registro é o registro sem nome "
, por padrão, mas é possível usar outros registros:
"ay " yank into register a
"by " yank into register b
"+y " yank into clipboard register
[…]
Da mesma forma, colocar insere texto de um registro. Esse registro é o registro sem nome por padrão, mas é possível usar outros registros:
"ap " put from register a
"+p " put from clipboard register
"3p " put from the register 3
[…]
Esses comandos são preferidos para "Clique com o botão direito do mouse / Colar ou Clique com o botão direito do mouse ou CTRL + SHFT + V" porque o texto é "colocado" no buffer sem nenhum tratamento especial. Com "Clique com o botão direito do mouse / Colar ou Clique com o botão central ou CTRL + SHFT + V", o texto é inserido no buffer como se você o tivesse digitado e, portanto, sujeito a recuo / formatação automática.
Se você não pode usar "+p
ou "*p
- trabalhando com o SSH sem o encaminhamento do X ou o Vim criado sem o suporte da área de transferência - a paste
opção desativa o recuo automático e várias outras opções muito úteis para que o texto digitado não seja alterado.
Conforme observado :help 'paste
, as opções têm efeitos colaterais potencialmente muito ruins, portanto, é importante desativá-lo logo após colar o texto:
:set paste
(paste)
:set nopaste
Essa dança é obviamente uma chatice, então há outra opção que permite definir um atalho especial para alternar paste
:
set pastetoggle=<F12>
Isso reduz um pouco a dor:
<F12>
(paste)
<F12>
Mas ainda é uma dor.
Se puder, é recomendável instalar um Vim adequado com suporte à área de transferência para que você possa usar "*p
ou "+p
(dependendo de como copiou o texto) para colar o texto da maneira correta .
- No Mac OS X: instale o MacVim,
- em sistemas baseados em Debian: instale o pacote vim-gnome ou vim-gtk,
- no CentOS: instale o pacote aprimorado para vim.
Referência:
:help p
:help y
:help registers
:help 'paste'
:help 'pastetoggle'
]p
, que cola e ajusta o recuo para que esteja correto.