Сделайте 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
для дополнительной информации.