Я пытался скопировать вставить что-то из vim в другое приложение, а также, из этого приложения, vim
использовать щелчок правой кнопкой мыши, а затем скопировать и вставить (или с Ctrl+ vи Ctrl+, cа также Command, очевидно, пробовал версию для Mac OSX). Однако, когда я пытаюсь сделать это, он копирует только первое слово, когда я делаю это vim
или когда я копирую из приложения vim
, он копирует все, но вставляет странные символы табуляции и пробелы. Я думаю, что это произошло, когда я решил установить свою мышь в терминале. Как в:
:set mouse=a
У меня есть эта строка в моем .vimrc
файле на iTerm (Mac OS X). Тем не менее, можно ли сделать мою копию вставить с другими приложениями, которые не в состоянии vim
не порвать с mouse=a
включенным? Или, по крайней мере, можно отключить мышь, пока я копирую пасту? Я сделал :help
мышь, но комментарии не были полезны для меня. Я вставил бы их сюда, но ... мой инструмент копирования-вставки не работает!
Я попробовать :set mouse!
и , :set mouse=a!
но они не сделали ничего полезного ... :(
Дополнительная информация о моей среде:
Я также использую tmux большую часть времени, хотя я тестировал эту ошибку / баг без сеанса tmux, поэтому я разместил это в основном как вопрос vim.
vim
с помощьюy
глагола можно просто восстановить первичный выбор . Я не знаю, почему бы тебе не использовать это.Ответы:
mouse=a
предотвращает возможность копирования и вставки из vim с читаемыми символами.Перейдите
mouse=a
наmouse=r
и это должно решить вашу проблему с этим.меня интересует одна вещь: вы меняете конфигурационный файл для вашего vim с помощью мыши, установленной как mouse = a?
оригинальный ответ ^
Если
mouse=r
не дает вам все копии прошлых вариантов, измените его наmouse=v
Оба
mouse=r
иmouse=v
имеют те же функции, которые вам нужны, но в зависимости от того, какой vimrc вы используете, один будет работать лучше, чем другой.источник
one thing I am wondering is, are you changing the config file for your vim with the mouse set to mouse=a?
вы имеете в виду, если я:mouse=a
включил в мой файл .vimrc? У меня есть:mouse=a
в моем файле .vimrc.--with-x=yes
? Мне не нужно ставить:set --with-x=yes mouse=a
или что-то? Не могли бы вы уточнить, что вы имеете в виду?--with-x=yes
сset mouse=a
. Когда я читал об этом, все, что я видел, было это само по себе в файле конфигурации. Но это может быть по-другому, поэтому я хочу убедиться, что говорю вам правильную вещь, которая будет работать для вас.Для пользователей OS X: скопировать вставку с
mouse=a
использованием altвместо выделения Shiftтекста. Тогда cmd-cи cmd-vработай как положено.Нашел этот ответ здесь https://stackoverflow.com/a/4608387/671639 после долгих поисков.
источник
С https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387
Нажмите клавишу «Shift» при выборе с помощью мыши. Это заставит выделение мыши вести себя так, как будто mouse = a не было включено.
Это работает и было проверено рецензентами переполнения стека, которые приняли это как ответ :)
источник
Решение Bharath , нажимающее Shiftпри копировании, сделает это, но оно скопирует больше, чем вы хотели бы скопировать в случае нумерации или хеш-комментариев.
Один из способов сделать это даже с помощью мыши = a - использовать визуальный режим, нажимая Vдля одиночного курсора или Shift+ Vдля выделения полной строки, и вы можете перемещаться вверх или вниз с помощью стрелок и использовать Yдля копирования или Dвырезания, и это должно работать.
источник
Возникла та же проблема: не удалось выделить мышью, поэтому не удалось скопировать и вставить из VIM в терминальном сеансе в документ и браузер Windows: Выполнено следующее, и теперь оно работает:
источник
См. Http://vimdoc.sourceforge.net/htmldoc/options.html.
Посмотрите на раздел «Заметки» в нижней части справочника:
при включении мыши можно по-прежнему использовать кнопки мыши, удерживая нажатой клавишу Shift. Это включает в себя копирование вставить с помощью кнопок мыши.
источник
Что касается второй части вашего вопроса, где вы указали, что при вставке из других приложений в vim он добавляет табуляции / пробелы. Попробуйте добавить это в ~ / .vimrc set paste или в vim перед вставкой в обычном режиме, нажмите "shift" + ":" и введите "set paste"
источник
Вы можете использовать yдля копирования (yank) и pвставить даже с
:set mouse=a
установленным~/.vimrc
. Используйте v+,arrow keys
чтобы выделить текст. Чтобы быстро скопировать всю строку, используйте shift+ y.источник
На моем Mac помогли две эти вещи:
источник
Используйте эти две строки ниже,
~/.vimrc
чтобы использовать все полезные функцииgui-mouse
и вставьте в системный буфер обмена, используяy
(клавиша yank), если вам не нужны какие-либо дополнительные буферы буфера обмена:источник