Como um append para o registro da área de transferência no vim?

1

Eu já sei que você pode copiar algo do registrador usando: (mais um comando yank, delete, etc.)

"a

Eu também entendo que você pode acrescentar ao registrador usando:

"A

Além disso, eu entendo como copiar algo para o registro da área de transferência usando:

"+

A pergunta aqui é o que eu digito para anexar ao registro da área de transferência?

Editar: Isso provavelmente não deveria ser necessário, mas minha versão do VIM é:

Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:39:59) Huge version with GTK2 GUI.

    
por Jason Basanese 04.07.2015 / 05:37

2 respostas

1

Você tem que usar

:let @+ .= your_expression

veja stackoverflow . O problema, como você entendeu, é que você não pode capitalizar o caractere + .

Por exemplo, para adicionar uma linha em seu buffer à área de transferência, coloque o cursor na linha e escolha-o com yy . Em seguida, digite :let @+ .= @0 para executar ( : ) o comando let para anexar ( .= ) register ( @ ) 0, que sempre mantém o último yank, para registrar + que é uma representação do prancheta.

Por exemplo, para adicionar a string "abc" à área de transferência, digite :let @+ .= 'abc' .

(Para alterar a seleção X11 em vez do registro da área de transferência + use register * ).

O vim tem um conjunto de comandos enorme . Se você pretende adotá-lo como seu editor favorito, vale a pena colocar algum esforço em conhecer, pelo menos superficialmente, alguns deles. A maioria dos usuários do vim provavelmente usa apenas cerca de uma dúzia de comandos e não está interessada em seu verdadeiro potencial. É uma pena, pois essas ferramentas podem reduzir significativamente sua carga de trabalho.

Você pode gostar Aprenda Vimscript the Hard Way . A ajuda interna do vim também pode ser visualizada na web em sourceforge , com esta página em A linguagem de script do Vim .

    
por 04.07.2015 / 14:00
1

Somente os 26 registros nomeados a to z podem ser anexados. Mas o registrador "sem nome" " sempre aponta para o último registro usado. Podemos usar isso a nosso favor, porque isso também significa que o item anexado a um registro nomeado também é anexado ao registro "sem nome".

Veja um exemplo:

1| Line 1
2| Line 2
3| Line 3
  1. Yank Linha 1 . %código%.
    • Verifique os registros com "+yy .
    • Você notará que ambos contêm Linha 1 .
  2. Anexe Linha 2 para registrar "a" digitando :reg + " . (Ou use qualquer registro nomeado que você deseja).
    • Verifique os registros com "Ayy .
    • O registro :reg a + " permanece o mesmo esperado.
    • Registre + tem Linha 2 anexada ao que estava lá antes.
    • Registre a tem as duas Linha 1 e Linha 2 .

: ajuda quotequote

Nota: procure configurar o registro "sem nome" na área de transferência para que você não precise digitar " a cada vez. Se definido, você pode usar apenas "+yy para arrastar para a área de transferência.
yy
:help clipboard e :help 'clipboard' e :help clipboard-unnamedplus

    
por 06.10.2017 / 20:30

Tags