Сделайте vim yankings глобальным с помощью общего текстового файла

В двух словах, я хочу следующее:

  • y (ank) фактически записывает восстановленный текст в строку в текстовом файле, возможно, в вашем каталоге.vim
  • эта строка имеет префикс с именем регистра, так что "qyy дает q>my line of text
  • p(ut) получает ожидаемый результат из этого файла

Смысл в том, чтобы получить больше системного буфера vim для решения этой проблемы:
Обмен Вим Янк Регистр

2 ответа

У меня такой же вопрос. Я нашел следующее простое решение:

Отредактируйте ваш файл.vimrc. Добавьте строки

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>

и убедитесь, что каталог ~/tmp на месте.

Откройте два экземпляра vim. Если вы теперь выделите часть текста в одном экземпляре и нажмете CTRL+y, а затем нажмите CTRL+p или CTRL+SHIFT+p в другом экземпляре, вы должны получить то, что хотите.

Очевидно, что комбинации клавиш могут быть изменены в соответствии с вашими предпочтениями.

Это необходимо cat а также tee; он должен работать на любом компьютере Mac/Linux.

Все, что вам действительно нужно, это использовать функцию viminfo. Поместите что-то вроде следующего в ваш файл ~/.vimrc.

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

Затем между сеансами автоматически сохраняются масла, метки и многое другое. Увидеть :help viminfo для дополнительной информации.

Другие вопросы по тегам