Изменить: Проблема с включенной мышью, vim
кажется, специфична для gnome-terminal
(версия 3.4.1.1-1; я использую режим отката gnome 3). Если я запускаю xterm
, поддержка мыши vim
по умолчанию отключена, и у меня есть возможность включить ее ( :set mouse=a
чего я никогда не делаю) и отключить ( :set mouse=
). В отличие от этого , когда я бегу vim
в gnome-terminal
, поддержка мыши включена по умолчанию , и это не представляется возможным , чтобы вывести его из строя ( :set mouse=
не имеет никакого эффекта). Есть ли решение проблемы с изменением эмулятора терминала?
Я хочу полностью отключить поддержку мыши в vim
. Я использую vim
версию 2: 7.3.547-3 до gnome-terminal
версии 3.4.1.1-1. Следующие команды, выполняемые непосредственно в vim или добавленные в мой .vimrc
файл, не могут отключить поддержку мыши:
set mouse =
set mouse =""
Основываясь на прочтении руководства vim и размещении сообщений в сети, одна или обе эти команды должны работать. В частности, в руководстве vim говорится следующее
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: >
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
Я использую ноутбук, и каждый раз, когда моя рука чистит трекпад, мое положение курсора в vim резко меняется.
источник
.vimrc
файла в вашем доме должно решить проблему (это сделал для меня). Он не должен содержать ничего, это может быть даже пустой файл./usr/share/
которым управляет ваш менеджер пакетов, - плохая идея. Если вы хотите сохранить некоторые параметрыdefaults.vim
, я бы скопировал их~/.vimrc
.Поддержка мыши по умолчанию отключена, поэтому что-то включается. Вероятно, причина вашего
set mouse=
сбоя в том, что он работает до того, что его включает. Я бы просмотрел остальную часть вашего vimrc и, возможно, системный vimrc (/etc/vim/vimrc
это стандартное расположение).В крайнем случае, вы можете сделать этот действительно ужасный хак, который заставит команду работать как одна из последних вещей, перед тем как дать вам контроль над редактором.
источник
/etc/vim/vimrc
файл довольно голый (runtime! debian.vim
и условныйif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
)./etc/vim/vimrc.local
Файл не существует в моей системе. В моем~/.vimrc
файле всего несколько строк, которые я добавил вручную.strace
Изvim
показывает , что он проверяет следующие места для конфигурационных файлов:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
( ENOENT ), и/home/user/.vimrc
. (Почему я получаю ошибку ENOENT; неif
препятствует ли инструкция попыткам открыть этот несуществующий файл?).:set mouse=
напрямую в vim, разве это не должно переопределять какие-либо настройки из конфигурационных файлов? Почему прямое выполнение этого оператораvim
не отключает управление мышью?ENOENT
как vim должен проверить, существует ли файл. Обычно это делается путем вызова,stat
который возвращает,ENOENT
если файл не существует.xterm
и у меня не было проблем с активацией мыши. Я мог воспроизвести проблему, набрав:set mouse=a
вvim
обкаткеxterm
(и наоборот, набрав:set mouse=
). Есть идеи, как устранитьgnome-terminal
проблему? Должен ли я начать новую тему? Благодарю.Я столкнулся с этим в моем приложении OS X «Terminal» на хосте Fedora Server 25. Я навсегда решил это с помощью моего .vimrc с помощью:
Теперь я могу прокрутить до моей предыдущей истории bash в прокрутке моего терминала с помощью мыши.
источник
set ttymouse=
имело странное поведение для меня, например, вызвало поведение клавиш со стрелками, escape-клавишу для измененияУ меня были почти те же жалобы, что и у вас, относительно чувствительности новой Vim к мыши. Использование
set mouse=""
не сделало это для меня, либо.У меня есть
set mouse=c
(без кавычек) близко к нижней части моего.vimrc
файла. Это, похоже, удерживало Vim от использования мыши, кроме случаев использования «PuTTY» для ssh-входа с моей (тьфу!) Машины Windows на работе. Я должен использовать shift-middle-button для вставки в PuTTY.2018-03-30 Редактировать: Теперь я начал использовать:
:mouse=
(без кавычек или чего-либо еще) на некоторых удаленных (CentOS 6.7) экземплярах vim, чтобы избавиться от нежелательных эффектов мыши.источник
.vimrc
файл и попытался выполнить его в интерактивном режиме (:set mouse=c
), но ни один из них не дал эффекта в моем случае.Добавьте это к вашему
.vimrc
:источник
has("gui_running")
0 в терминальной среде. Ответ на этот вопрос, в отличие от других, требует дополнительных усилий , чтобы только отключить мышь в терминальной среде, которая задает вопрос, оставляя его включен Gvim.На debian stretch некоторые центральные настройки загружаются после загрузки
/etc/vim/vimrc
и/etc/vim/vimrc.local
. Смотрите/etc/vim/vimrc
:Этот файл по умолчанию
/usr/share/vim/vim80/defaults.vim
. Теперь изменение центрального файла под/usr/share/...
ISПри установке значения
skip_defaults_vim
uncommentig в приведенной выше строке удаляются все остальные параметры, установленные этим файлом. Чтобы просто удалить ненужные опции, поместите следующее в/etc/vimrc.local
:Это загружает
defaults.vim
вручную и отключает автоматическую загрузку, что дает вам возможность отменить любые нежелательные настройки, без необходимости создавать.vimrc
для каждой учетной записи пользователя.источник
В некоторой степени связанный с вопросом, если вы используете neovim (nvim), вы должны поместить его
set mouse=
в~/.config/nvim/init.vim
файл конфигурации.Если каталог не существует, создайте его с помощью
mkdir -p ~/.config/nvim/
источник