Mais
Como colar texto arrancado na linha de comando Vim?
I'gostaria de colar texto arrancado na linha de comando da Vim. É possível?
572
3
I'gostaria de colar texto arrancado na linha de comando da Vim. É possível?
Sim. Hit Ctrl-R depois ". Se tiver caracteres de controlo literais no que puxou, utilize kbd>Ctrl-R, Ctrl-O, ". Aqui está uma explicação do que você pode fazer com os registros. O que pode fazer com os registos é extraordinário e, uma vez que saiba como utilizá-los, não poderá viver sem eles. Os registradores são basicamente locais de armazenamento de cordas. Vim tem muitos registros que funcionam de diferentes maneiras:
0
(registro yank: quando você utilizay
no modo normal, sem especificar um registro, o texto yanked vai para lá e também para o registro padrão),1
a9
(mudando registros de exclusão, quando você utiliza comandos comoc
oud
, o que foi excluído vai para o registro 1, o que estava no registro 1 vai para o registro 2, etc.),"
(registro padrão, também conhecido como registro sem nome. É aqui que o " vem em Ctrl-R, "),a' a
z' para seu próprio uso (osA' a
Z' em maiúsculas são para anexar aos registros correspondentes)._
(age como/dev/null
(Unix) ouNUL
(Windows), você pode escrever para ele mas ele's descartado e quando você lê dele, ele está sempre vazio),-
(pequeno registo de eliminação),/
(registro de padrão de busca, atualizado quando você procura por texto com/
,?
,*
ou#
por exemplo; você também pode escrever nele para alterar dinamicamente o padrão de busca),:
(armazena o último comando digitado em VimL viaQ
ou:
, somente leitura),+
e*
(registros da área de transferência do sistema, você pode escrever a eles para definir a área de transferência e ler o conteúdo da área de transferência a partir deles) Veja:registros de ajuda' para a referência completa. Você pode, a qualquer momento, utilizar
:registros' para exibir o conteúdo de todos os registros. Sinônimos e abreviações para este comando são:display',
:reg' e:di'. No modo Insert ou Command-line, Ctrl-R mais um nome de registo, insere o conteúdo deste registo. Se pretender inseri-los literalmente (sem auto-indentação, sem conversão de caracteres de controlo como
0x08para o backspace, etc.), pode utilizar Ctrl-R, Ctrl-O, nome do registo. Veja
:ajuda i_CTRL-R` e os parágrafos seguintes para mais referências. Mas você também pode fazer o seguinte (e eu provavelmente esqueci muitos usos para registros).Let's decompõe:
"
é um comando de modo normal que permite selecionar qual registro será utilizado durante a próxima operação de yank, apagar ou colar. So ": seleciona o registro de dois pontos (armazenando o último comando). Depois p é um comando que já conhece, cola o conteúdo do registo. cf.:help "
,:help quote_:
.vimrc
) e gostaria de executar algumas linhas consecutivas agora mesmo: yj:Para colar algo que é a prancheta do sistema você pode simplesmente usar SHIFT - INS.
Funciona no Windows, mas acho que também funciona bem no Linux.
Para colar algo da área de transferência do sistema na linha de comando vim ("modo de comando"), use Ctrl+R seguido por +. Para mim, pelo menos no Ubuntu, kbd>Shift+Ins não está a funcionar.
PS: Não sei porquê Ctrl+R seguido de * que é teoricamente o mesmo que Ctrl+R seguido de + doesn't parece funcionar sempre. Pesquisei e descobri o + versão e parece que funciona sempre, pelo menos na minha caixa.