Como colo agora:
- Clique com o botão direito / Copiar ou simplesmente realce.
- Clique com o botão direito do mouse / Colar ou Clique com o botão direito do mouse ou CTRL + SHFT + V
- Os recuos aparecem em intervalos crescentes: 0, 2, 4, 6, +
Pergunta em questão:
Da pesquisa anterior, eu achei que a solução rápida e suja está a entrar o seguinte no meu .vimrc
arquivo: set paste
. No entanto, aqueles que sugeriram esse comando disseram que isso set paste
afeta outras configurações. (Em cima da minha cabeça, eu esqueço.)
Gostaria de saber qual opção posso definir que simplesmente cola sem recuo extra. Se isso acabar sendo'paste'
, eu gostaria de saber o que exatamente esse comando faz.
Eu só vejo uma diferença. Quando no Vim, -- INSERT --
torna-se-- INSERT (paste) --
vimrc
indentation
os-clipboard
onebree
fonte
fonte
]p
, que cola e ajusta o recuo para que esteja correto.Respostas:
OK, aqui está uma cartilha "puxe e ponha"…
No Vim, os comandos principais para puxar (copiar) e colocar (colar) são
y
ep
.Yanking coloca o texto arrancado em um registro. Esse registro é o registro sem nome
"
, por padrão, mas é possível usar outros registros:Da mesma forma, colocar insere texto de um registro. Esse registro é o registro sem nome por padrão, mas é possível usar outros registros:
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 - apaste
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:Essa dança é obviamente uma chatice, então há outra opção que permite definir um atalho especial para alternar
paste
:Isso reduz um pouco a dor:
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 .Referência:
fonte
"*p
. Digito enquanto estiver no modo de exibição? Ou adicione ao.vimrc
?p
, mas para colar a partir da área de transferência do sistema operacional. Veja vi.stackexchange.com/q/84/205O VIM possui outra configuração
pastetoggle
que define o mapeamento para alternar o modo de colar. É isso que você gostaria de fazer e, em seguida, basta ativar o modo de colar e colar.Embora eu ache isso um pouco menos intuitivo e muitas vezes achei
]p
a melhor maneira de colar código em vez de usar apenasp
fonte
Se você estiver usando um emulador de terminal bastante moderno, poderá instalar o plugin vim-bracketed-paste .
Dos documentos:
Após a instalação, você pode simplesmente colar normalmente no modo de inserção, e ele cuidará da configuração e remoção da pasta para você.
fonte
yo
/yO
operadores que imitamo
eO
operadores, mas apenasset paste
até o modo de inserção ser encerrado.Para colar texto no vim sem recuo automático, você precisa colocar o Vim no modo Colar. Isso é útil se você deseja recortar ou copiar algum texto de uma janela e colá-lo no Vim. Isso evitará efeitos inesperados. Veja:
:help paste
para mais detalhes.Para facilitar a vida, existe uma
pastetoggle
variável que especifica a sequência de teclas que alterna a opção 'colar' (:set invpaste
).Por exemplo, se você gostaria de usar F2para desativar a recusa automática ao colar no terminal X, você pode usar o seguinte código em seu
.vimrc
arquivo:fonte
Unimpaired.vim resolve esse problema da maneira mais eficiente que já vi. Ele fornece alguns mapeamentos para entrar no modo Inserir com
'paste'
habilitado e desabilita-o automaticamente quando você retorna ao modo Normal.yo
abre uma nova linha abaixo do cursor;yO
acima. (Assim comoo
eO
.)O plug-in também fornece um conjunto de outros mapeamentos úteis para navegar nas listas, alterar configurações comuns e algumas conversões de texto bacanas. Os mapeamentos são exemplares: eles parecem nativos do Vim sem pisar na funcionalidade existente.
Eu forneço apenas os detalhes no parágrafo anterior, porque muitos estariam relutantes em instalar um plug-in para resolver o problema em questão. No entanto, acho que eles ficariam felizes com as outras coisas (não relacionadas) que Unimpaired.vim tem a oferecer.
fonte
Quando você está em um servidor ou sistema em que não pode ou não deseja alterar a configuração, a maneira mais rápida é
Isso entrará no modo de inserção com o autoindent desativado, onde você cola seu texto. Quando terminar, você precisará digitar
em sua própria linha para finalizar a inserção.
fonte