После включения set mouse=a
текст, скопированный внутри Vim, не будет вставлен за пределы Vim. Кто-нибудь знает, как это исправить?
Здесь выделение текста с помощью мыши включает визуальный режим и отключает Copy
опцию во всплывающем меню:
После включения set mouse=a
текст, скопированный внутри Vim, не будет вставлен за пределы Vim. Кто-нибудь знает, как это исправить?
Здесь выделение текста с помощью мыши включает визуальный режим и отключает Copy
опцию во всплывающем меню:
+clipboard
иmouse=a
, вы сможете копировать / вставлять из / в vim без использования всплывающего меню терминала. Вы можете проверить, еслиclipboard
это включено, используяvim --version
.mouse=a
не является опцией компиляции, это что-то в vimrc B) Когда vim был скомпилирован с+clipboard
ним, вы можете копировать / вставлять, когда:set number
он включен, и без копирования / вставки чисел, хотя, возможно, вам все равно придется сделать некоторые сопоставления C) Не нужно самостоятельно перекомпилировать VIM, это может быть включено в vim на некоторых менеджерах пакетов, поддерживаемых любой ОС. В osx bim имеет vim, хотя в vim по умолчанию osx нет. В моем ответе упоминается этот вопрос.xsel
работает для вас тоже, вы можете выделить текст с помощью редактора или с помощью мыши и нажмите ,ctrl+c
чтобы скопировать текст, кстати , это для neovim, github.com/neovim/neovim/issues/7945#issuecomment-361970165Ответы:
Нажмите shiftво время выбора с помощью мыши. Это заставит выделение мыши вести себя так, как будто оно
mouse=a
не было включено.Примечание: этот прием также применим к «вставке средней кнопки»: если вы хотите вставить текст vim, который был выбран снаружи, нажмите, shiftудерживая нажатой среднюю кнопку. Просто убедитесь, что режим вставки активирован, когда вы делаете это (вы также
:set paste
можете избежать неожиданных эффектов).OS X (mac): удерживайте alt / option при выборе ( источник )
источник
Fn
ключ - правильный путь. Т.е. (сmouse=a
включением) выделение текста при нажатииFn
клавиши, затем используйте CMD + C для копирования и вставки в любое место.Используйте ", +, yпосле создания визуального выбора. В любом случае вам не следует использовать команду копирования терминала, потому что она копирует то, что видит терминал, а не фактическое содержимое. Вот что это делает:
+
для следующего удаления, восстановления или вставки. Именованный регистр+
- это специальный регистр, это регистр буфера обмена X11. (В других системах вы бы использовали*
вместо этого, я думаю, увидеть:help clipboard
и:help x11-selection
)Вы можете отобразить это так:
Затем выделите что-нибудь мышью и нажмите, Control-Cчтобы скопировать.
Эта функция работает только тогда, когда Vim был скомпилирован с
+xterm_clipboard
опцией. Беги,vim --version
чтобы узнать, есть ли у него.источник
"*y
зависимости от ОС.+clipboard
? А что+clipboard
сxterm_clipboard
выключенным?Вместо
set mouse=a
использованияset mouse=r
в .vimrcисточник
На OSX используйте fnвместо shift.
источник
option
ключом, который являетсяalt
ключевым эквивалентом на хосте MacOS. Это был удаленный терминал на Debian9, хотя. не работал, добавив любой изset mouse=a
/set mouse=r
в/etc/vim/vimrc
на удаленном.В Ubuntu можно использовать привязки X-Term для копирования и вставки внутри VIM (Ctrl-Shift-C и Ctrl-Shift-V) для текста, выделенного с помощью клавиши Shift.
источник
Другой вариант OSX-Mac - снять флажок
View->Allow Mouse Reporting
(или нажать ⌘-R для его переключения). Это позволяет переключаться между взаимодействием с мышью и выбором мыши, что может быть полезно при выборе и копировании / вставке нескольких битов, поскольку у вас нет держать клавишу модификатора, чтобы сделать это.Примечание для Multiline с номерами строк:
У меня обычно включены номера строк, так что это также будет копировать номера строк, если вы выберите несколько строк. Если вы хотите скопировать несколько строк без номеров строк, отключите номера с помощью,
:set nonu
а затем вы сможете:set nu
снова включить их после завершения копирования.источник
Вы можете использовать
:set mouse&
в командной строке vim включить копирование / вставку текста, выделенного с помощью мыши. Затем вы можете просто использовать среднюю кнопку мыши или shiftinsertвставить ее.источник
:set number
выделяются цифры. Так что не очень хорошо. Таким образом, выset mouse=a
Параметры компиляции, с которыми был скомпилирован vim, являются частью проблемы.
vim --version
показывает это.В OSX по умолчанию vim имеет,
-clipboard
но вам нужно+clipboard
На OSX вы можете и, по-видимому, как правило, следует использовать Macvim. Вы можете сделать то,
brew cask install macvim
что есть+clipboard
.Их у вас будет два VIMS.
Запуск vim запустит macvim, потому что он
/usr/local/bin
должен быть/usr/bin
в пути, хотя вы можете проверить с помощьюwhich vim
.запуск vim (для запуска macvim) - это нормально, но вы можете захотеть отобразить vi на macvim, потому что в противном случае запуск vi останется по умолчанию vim! Вы можете переписать или удалить (с помощью rm) и заново создать ссылку на sy sym с помощью ln. И чтобы сделать это без ошибки «операция не разрешена», вам необходимо (временно) отключить SIL. Https://apple.stackexchange.com/questions/208478/how-do-i-disable-system-integrity-protection- sip-aka-rootless-on-macos-os-x .
Маквим имеет
+clipboard
как показаноvim --version
Вот работа
~/.vim/vimrc
только с необходимыми строками.Лидером по умолчанию является обратный слеш.
Я прочитал предложение о том, что следует использовать ключевой ключ ... (конечно, контроль имеет много ключей, которые уже используются, поэтому было предложено не использовать контроль. Я не знаю, относится ли это также к командному ключу, но так или иначе).
С этим упомянутым отображением
\c
будет выполнено"+y
копирование из регистра, известного как +, в буфер обмена. И\v
будет вставлять из реестра, известного как +.Так что это копирование / вставка, которая работает между окнами.
Другая ОС может потребовать,
"*
а не"+
источник
-xterm_clipboard
. Может быть, что-+xterm_clipboard
то будет полезно, но это не имеет значения для этого решения.Если вы используете сессию Putty, то она автоматически копирует выделение. Если мы использовали опцию «set mouse = a» в vim, выбор с помощью Shift + перетаскивание мышью выделяет текст автоматически. Нужно проверить в Х-семестре.
источник
Эм ... Продолжайте нажимать, Shiftа затем нажмите правую кнопку мыши
источник
Я случайно объяснил, как выключить
set mouse=a
, когда перечитал вопрос и обнаружил, что ОП вообще не хочет его выключать. В любом случае для тех, кто ищет, какset mouse=
централизованно отключить мышь ( ), я оставляю ссылку на свой ответ здесь: https://unix.stackexchange.com/a/506723/194822источник
У меня сработало удержание смены при копировании и вставке с выделением
источник
Добавьте
set clipboard=unnamed
к своему.vimrc
. Таким образом, он будет использовать регистр буфера обмена '*' вместо безымянного регистра для всех операций yank, delete, change и put (обратите внимание, что это влияет не только на мышь).Поведение регистра '*' зависит от вашей платформы и от того, как вы
vim
ее скомпилировали (или если вы используетеneovim
).Если это не работает, вы можете попробовать
set clipboard=unnamedplus
, но этот вариант имеет смысл только в системах X11.источник
В режиме ESC, когда установлено mouse = a, выделите текст с помощью мыши. Это включит визуальный режим в vim. Затем вы можете нажать «y», чтобы восстановить выделенный текст, и «p», чтобы вставить его в любое место. Это происходит только в VIM.
источник