Torne as transferências do vim globais através de um arquivo de texto compartilhado

4

Em poucas palavras, quero o seguinte:

  • y (ank) realmente grava o texto arrancado em uma linha em um arquivo de texto, talvez no seu diretório .vim
  • essa linha é prefixada com o nome do registrador, então "qyy produz q>my line of text
  • p (ut) obtém o resultado esperado desse arquivo

O raciocínio é obter mais de um buffer vim 'amplo' para resolver este problema:
Compartilhando o Registro do Yin do Vim

    
por gggg 04.04.2011 / 21:05

2 respostas

1

Eu tive a mesma pergunta. Eu encontrei seguinte solução simples:

Edite seu arquivo .vimrc. Adicione as linhas

map <C-y> <Esc>:'<,'>! cat \| tee ~/tmp/.myvimbuf<CR>

map <C-p> o<Esc>:.!cat ~/tmp/.myvimbuf<CR>

map <C-P> O<Esc>:.!cat ~/tmp/.myvimbuf<CR>

e verifique se o diretório ~ / tmp está no lugar.

Abra duas instâncias do vim. Se você destacar agora uma parte do texto em uma instância e pressionar CTRL + ye pressionar CTRL + p ou CTRL + SHIFT + p na outra instância, você deverá obter o que deseja.

Obviamente, as combinações de teclas podem ser modificadas para o que você quiser.

Isso precisa de cat e tee ; ele deve funcionar em qualquer máquina Mac / Linux.

    
por 16.06.2011 / 10:44
0

Tudo o que você realmente precisa é usar o recurso viminfo. Coloque algo como o seguinte no seu arquivo ~ / .vimrc.

set viminfo='20,\"90,h,%

Em seguida, manteigas, marcas e mais são persistidos entre as sessões automaticamente. Veja :help viminfo para mais informações.

    
por 17.06.2011 / 09:05