Insira o modo de colagem antes de colar:
:set paste
Para voltar ao modo "normal":
:set nopaste
Eu tenho isso ao tentar copiar essa essência no vim: link
Eu observo o mesmo comportamento em todos os lugares: se eu colar algo que inclua um comentário, tudo o que se segue ao comentário é colado comentado.
Talvez tenha algo a ver com o fato de que, se eu escrever um comentário no modo de inserção e pressionar Enter, a seguinte linha anexará automaticamente um comentário.
Como posso me livrar desse comportamento?
Além da opção paste
mencionada por Mat , você também pode acessar diretamente a área de transferência X do VIM:
"*p
para inserir a seleção X11 "+p
para inserir a área de transferência X11 Você precisa de uma versão VIM com suporte a X11 (no Debian e seus derivados você precisa instalar o pacote vim-gtk
ou vim-gnome
).
Para mais informações, consulte a documentação ( :help x11-selection
).
Veja o que está acontecendo. Existem opções de formatação do Vim que comentam automaticamente novas linhas quando você está em uma linha de comentário. Algumas dessas opções geralmente são ativadas por padrão. Por exemplo,
# a comment<CR>
#
Como você pode ver, a nova linha foi adicionada automaticamente com um caractere de comentário. Você pode desativar a maioria dessas opções removendo c
e r
da configuração formatoptions
. Veja :h fo-table
para mais informações sobre essas opções.
:set formatoptions-=cr
O Vim não tem como diferenciar entre o texto que é colado com os mecanismos de colagem do emulador de terminal e o texto que você digita. Definir as opções de colagem ( set paste
) diz ao Vim para esperar texto colado e desabilitar quaisquer opções de formatação que seriam indesejáveis.
Meu favorito é usar o comando put
.
:put*
colar da seleção na linha atual :put+
colar do buffer na linha atual "*p
/ "+p
também é bom, mas :pu[t]
tem algumas vantagens:
:$put+
colar depois da última linha :0put+
colar no início do arquivo Como resposta paralela, se você tiver algum arquivo que tenha isso em você, você pode se livrar dele entrando no modo de bloqueio visual vertical
ctrl + v e, em seguida, usando as teclas de seta / hjkl para navegar pelas partes que você deseja excluir e, em seguida, pressionando dÀs vezes, acho isso mais rápido do que desfazer a configuração do modo de colar, colando e desativando o modo de colagem.