Torne o vim yankings global através de um arquivo de texto compartilhado

4

Em poucas palavras, quero o seguinte:

  • y (ank) na verdade grava o texto arrancado em uma linha em um arquivo de texto, talvez em seu diretório .vim
  • essa linha é prefixada com o nome do registro, portanto "qyygeraq>my line of text
  • p (ut) obtém o resultado esperado desse arquivo

O raciocínio é obter mais de um buffer vim 'de todo o sistema' para resolver esse problema:
Compartilhando o Vim Yank

gggg
fonte

Respostas:

1

Eu tive a mesma pergunta. Encontrei a 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ê agora destacar uma parte do texto em uma instância e pressionar CTRL + ye, em seguida, pressionar CTRL + p ou CTRL + SHIFT + p na outra instância, deverá obter o que deseja.

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

Isso precisa cate tee; deve funcionar em qualquer máquina Mac / Linux.

max
fonte
1
ah, muito legal. Isso também permitiria colar enquanto no modo de inserção.
Gggg
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 muito mais são mantidas entre as sessões automaticamente. Veja :help viminfopara mais informações.

Keith
fonte