Звичайний vim yankі pasteпрацює лише в тому ж вікні (але працює в файлах і закриває / зберігає команди). Чи можна змусити його працювати через термінали (витягнути з вікна в одному терміналі і вставити в інший), і якщо так, то як?
Звичайний vim yankі pasteпрацює лише в тому ж вікні (але працює в файлах і закриває / зберігає команди). Чи можна змусити його працювати через термінали (витягнути з вікна в одному терміналі і вставити в інший), і якщо так, то як?
Відповіді:
Напевно, найпростіша річ, яку ви спробуєте, - це ввести set clipboard=unnamedсвої програми .vimrcта перезапустити свої сеанси vim.
Це дозволяє запускати yank(наприклад yy) в одному вікні і put(наприклад p) в іншому вікні просто працювати, оскільки всі сеанси vim будуть спільними для одного і того ж буфера вибору X.
З іншого боку, ваш буфер yank буде перезаписаний, як тільки ви виберете текст у будь-якому іншому вікні будь-якої програми.
Зверху це також означає, що все, що ви збираєтеся в vim, тепер можна вставити в будь-яку програму середнім клацанням.
Якщо вам це не подобається, ви можете набрати "+або "*перед вашим yank і поставити команди, наприклад, "+yyщоб вирвати рядок.
Ці +форми взаємодіють з буфером обміну ( "+yце як Ctrl+ C, "+pце як Ctrl+ V).
Ці *форми взаємодіють з буфером вибору ( "*yце як лівою кнопкою миші і перетягнути, "*pце як середньої кнопкою миші).
Детальні відомості див. У розділі Вибір графічного інтерфейсу , підтримка вибору X11 та параметри буфера обміну та миші .
set clipboard=unnamedне працює для мене (я помістив його у .vimrc і перезапустив усі сеанси vim). На жаль, ні інші методи. Схоже, мій vim не компілюється з підтримкою x. Я використовую VNC для підключення до машини Linux з машини Windows.
:echo has('x11'), якщо підтримка X включена, вона буде надрукована 1.