В режиме ESC, когда установлено mouse = a, выделите текст с помощью мыши. Это включит визуальный режим в vim. Затем вы можете нажать «y», чтобы восстановить выделенный текст, и «p», чтобы вставить его туда, куда вы хотите. Это происходит только в VIM.

включенияset mouse=aтекст, скопированный внутри Vim, не будет вставлен за пределы Vim. Кто-нибудь знает, как это исправить?

Здесь выбор текста с помощью мыши включает визуальный режим и отключаетCopy опция во всплывающем меню:

 Jezz14 дек. 2016 г., 10:30
Если ваш VIM скомпилирован с+clipboard а такжеmouse=a, вы сможете копировать / вставлять из / в vim без использования всплывающего меню терминала. Вы можете проверить, еслиclipboard это позволяет использоватьvim --version.

Ответы на вопрос(11)

сноска вместосдвиг.

 mrtipale27 нояб. 2018 г., 06:47
работал для меня сoption ключ, которыйalt эквивалент ключа на хосте MacOS. Это был удаленный терминал на Debian9, хотя. не работал, добавив любой изset mouse=a / set mouse=r в/etc/vim/vimrc на пульте.

внутри VIM (Ctrl-Shift-C и Ctrl-Shift-V) для текста, выделенного с помощью клавиши Shift.

то она автоматически копирует выделение. Если мы использовали опцию «set mouse = a» в vim, выбор с помощью Shift + перетаскивание мышью выделяет текст автоматически. Нужно проверить в Х-семестре.

«+ У, В любом случае вам не следует использовать команду копирования терминала, потому что она копирует то, что видит терминал, а не фактическое содержимое.

Вы можете отобразить это так:

:vmap <C-C> "+y

А затем выделите что-нибудь с помощью мыши и нажмитеControl-C скопировать это.

Эта функция работает только тогда, когда Vim был скомпилирован с+xterm_clipboard вариант. Бегатьvim --version чтобы узнать, если это так.

 frabjous05 янв. 2011 г., 21:55
Или возможно"*y в зависимости от ОС.
 Saulo Silva25 нояб. 2014 г., 15:55
Для меня это лучшее решение, чем принятый ответ, потому что с помощью этого метода номера строк не копируются.
 lyuba05 янв. 2011 г., 22:35
Это сработало! Тем не менее, комбинация довольно сложная, на самом деле 4 кнопки. Вероятно, мне нужно сопоставить другую, используя способ «сдвиг» от другого ответа.
 lyuba06 янв. 2011 г., 17:21
Картографирование также работает отлично :) Теперь я не знаю, какие ответы от вас, ребята, я должен отметить как принятые :)

set mouse=a использованиеset mouse=r в .vimrc

 Mikel19 окт. 2018 г., 05:30
Пожалуйста, скажи почему. На первый взгляд, это похоже на полное отключение режима мыши, что не является вопросом вопроса.
 Makesh08 окт. 2018 г., 12:26
Но это отключает прокрутку
 febaisi24 авг. 2018 г., 17:01
Это работает для Mac OS. VIM - Vi IMproved 8.1
 jedi06 мая 2018 г., 04:20
Это работает на Ubuntu, vim версия 8.0.1774

когда установлено mouse = a, выделите текст с помощью мыши. Это включит визуальный режим в vim. Затем вы можете нажать «y», чтобы восстановить выделенный текст, и «p», чтобы вставить его туда, куда вы хотите. Это происходит только в VIM.

Решение Вопроса

сдвиг при выборе с помощью мыши. Это заставит выделение мыши вести себя так, как будтоmouse=a не был включен

Примечание: этот прием также применим к «вставке средней кнопки»: если вы хотите вставить текст vim, который был выбран снаружи, нажмитесдвиг при нажатии средней кнопки. Просто убедитесь, что режим вставки активирован, когда вы делаете это (вы также можете:set paste чтобы избежать неожиданных эффектов).

OS X (mac): удерживайте alt / option при выборе (источник)

 Ozkan02 апр. 2013 г., 14:25
ОК, это действительно решение. Но что, если вы хотите выбрать много кода, который больше, чем на вашем экране? (тогда вы должны прокрутить и выбрать одновременно)
 micrub18 мар. 2014 г., 17:29
Существует также возможность использовать выбор блока, нажав <kbd> ctrl </ kbd> + <kbd> shift </ kbd> + левую кнопку мыши, чтобы начать выбор блока. Средняя кнопка мыши вставляет скопированное содержимое в другое окно.
 Aaron07 июн. 2014 г., 01:29
Если у вас есть номера строк (как показано на скриншоте), то при выборе использования ALT в Mac OS X номера строк также копируются. В этом случае лучше использовать ALT + CMD при выборе режима выбора блоков, чтобы избежать выбора номеров.
 François03 апр. 2013 г., 14:24
Озкан: посмотрите ответ Джоша Ли, чтобы скопировать текст в буфер обмена.
 YaOzI03 июл. 2017 г., 06:36
Для Mac Terminal, послеOS X 10.11 El Capitan, Fn ключ правильный путь. Т.е., (сmouse=a включить) выделение текста при нажатииFn ключ, затем используйте CMD + C, чтобы скопировать и вставить в любое место.

View->Allow Mouse Reporting (или нажмите ⌘-R, чтобы переключить его.) Это позволяет переключаться между взаимодействием с мышью и выбором мыши, что может быть полезно при выборе и копировании / вставке нескольких битов, поскольку для этого не нужно держать клавишу-модификатор. ,

Примечание для Multiline с номерами строк:

У меня обычно включены номера строк, так что это также будет копировать номера строк, если вы выберите несколько строк. Если вы хотите скопировать несколько строк без номеров строк, отключите номера с помощью:set nonu и тогда вы можете:set nu чтобы снова включить их после завершения копирования.

сдвиг а затем нажмите правую кнопку мыши

set mouse=a, когда я перечитал вопрос и обнаружил, что ОП вообще не хотел его отключать. В любом случае для тех, кто ищет, как выключить мышь (set mouse=) в центре я оставляю ссылку на мой ответ здесь:https://unix.stackexchange.com/a/506723/194822

:set mouse& в командной строке vim включить копирование / вставку текста, выделенного с помощью мыши. Затем вы можете просто использовать среднюю кнопку мыши илисдвигвставить вставить это.

Ваш ответ на вопрос