Может ли vim использовать системный буфер обмена по умолчанию? - PullRequest
68 голосов
/ 06 января 2012

Я сталкиваюсь с несколькими проблемами , потому что вкладки vim, из-за отсутствия лучшего термина, ужасны.Вместо этого я хочу начать использовать несколько вкладок Gnome, каждая с разным экземпляром vim.Все должно работать нормально, однако только системный буфер + может использоваться для обмена текстом.Это делает все команды на два нажатия клавиш длиннее:

y y становится " + y y

y w становится " + y w

d ' k становится " + d ' k

Это особенно верно, если учесть, что операция «просто вырвать / вставить» выглядит так

y y p

становится

" + y y " + p

Есть ли в любом случае указание vim всегда использовать системный буфер обмена(s)?

EDIT см. здесь для получения дополнительной информации об использовании нескольких экземпляров vim на вкладках терминала Gnome

Ответы [ 3 ]

92 голосов
/ 06 января 2012

Я нашел решение моей проблемы здесь .Если вы добавите следующее в ваш файл .vimrc

set clipboard=unnamedplus

Все, что вы дергаете в vim, попадет в безымянный регистр, и наоборот.

4 голосов
/ 06 января 2012

Кстати, если вы просто хотите использовать встроенную обработку терминала для копирования / вставки, предложите установить

:se mouse-=a

и просто дважды щелкните / щелкните правой кнопкой мыши, как вы привыкли в своем терминале.

Тем не менее, я люблю разделенные окна vim и тот факт, что вы можете использовать мышь для перетаскивания разделителей окон / позиционирования курсора ( ересь! ).Для этого требуется мышь + = a ... (и она также будет работать с сессиями ssh / screen!).

Вместо этого я привык делать такие вещи:

:%retab|%>|%y+|u

и иметь такие команды при вызове.Обратите внимание, что регистр «+» закодирован в командной строке. Чтобы скопировать последний визуальный выбор в буфер обмена,

:*y+

или

:'<,`>y+ 
2 голосов
/ 06 января 2012

Возможное решение:

"Ctrl-c to copy in + buffer from visual mode
vmap <C-c> "+y

"Ctrl-p to paste from the + register in cmd mode
map <C-v> "+p

"Ctrl-p to paste from the + register while editing
imap <C-v> <esc><C-v>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...