Как включить обе функции vim: перемещать курсор мыши и вставлять его с помощью средней мыши одновременно?

540
bioinfornatics

Я хотел бы иметь две функции в VIM

  1. Движение курсора мыши
  2. Вставить из глобального буфера обмена средней мышью

Для первой функции я могу установить mouse=aи второй mouse=r.

Отдельно эти функции работают, но не вместе.

Если я установлю mouse=ar

  • перемещение курсора мыши [OK]
  • вставка средней кнопки мыши с использованием информации, выбранной в vim [OK]
  • вставка средней кнопки мыши с использованием информации, выбранной из внешнего приложения [FAIL]

Можно ли получить эти функции одновременно без установки дополнительных приложений / пакетов?

$ vim --version | grep clipboard -clipboard +iconv +path_extra -toolbar +eval +mouse_dec +startuptime -xterm_clipboard

Спасибо за вашу помощь

Редактировать Мне сказали, что я могу использовать Shift + средняя кнопка мыши для вставки из внешнего выделения. Это могло бы сделать работу, если бы был способ объединить как внутренний, так и внешний буфер (выбор). В таком случае, как войти в режим вставки, когда используется Shift + средняя кнопка мыши?

0
Чтобы вставить внешний текст в `xterm`, вы должны использовать` ctrl + shift + v`, на самом деле большинство комбинаций необходимо изменить с помощью `shift`, чтобы работать в эмуляторе терминала в linux. Чтобы войти в режим вставки в vim, используйте клавишу `insert`. dmb 5 лет назад 1
Что касается режима вставки, я хочу добавить триггер или обработчик событий из обычного режима `nmap`, которые входят в режим вставки, вставляют основной буфер и возвращаются в нормальный режим при использовании` shift + middlemouse` bioinfornatics 5 лет назад 0

1 ответ на вопрос

1
Josh Whetton

X Буфер обмена имеет интересное поведение. Есть три варианта или буфер обмена, если хотите:

  • CLIPBOARD: Взаимодействовать с Ctrl-c, Ctrl-vили Editменю.
  • PRIMARY: взаимодействовать с Shift+Insertили средней кнопкой мыши.
  • SECONDARY : в основном не используется и выходит за рамки этого.

Не все терминальные эмуляторы поддерживают вставку средней мышью, на что ссылается @dmb. В вашем случае информация, которую вы пытаетесь вставить с помощью средней мыши, хранится в ней, к CLIPBOARDкоторой нет доступа с помощью средней мыши. Тем не менее, понимание того, где ваша информация копируется в поможет вам понять, как извлечь эту информацию. Кроме того, я предлагаю вам найти менеджер буфера обмена, который обеспечивает удовлетворительный рабочий процесс.

Вы можете найти полный список программного обеспечения для управления буфером обмена здесь: https://wiki.archlinux.org/index.php/Clipboard#Managers Christopher Waldon 5 лет назад 1