4

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

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

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

2 ответа2

1

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

Отредактируйте ваш файл .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.

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .