Звичайний 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
.