Vim говорит "Нет поддержки мыши", но только когда я запускаю git commit
Мне нравится использовать мышь с vim, поэтому у меня есть поддержка мыши в моем .vimrc
. Это работает очень хорошо везде, но всякий раз, когда я запускаю git commit
на конкретном сервере (Appa), появляется сообщение об ошибке:
[[email protected] git]$ git commit
Error detected while processing /home/tswett/.vimrc:
line 1:
E538: No mouse support: mouse=a
Press ENTER or type command to continue
Aborting commit due to empty commit message.
[[email protected] git]$
В итоге я получаю сеанс vim, который не поддерживает мышь и не выделяет синтаксис.
Если я запускаю git commit
на другом сервере или на моем локальном компьютере, у меня есть поддержка мыши и подсветка синтаксиса. Аналогично, всякий раз, когда я использую vim для редактирования чего-либо еще в Appa, у меня есть поддержка мыши и подсветка синтаксиса. Если я удалю строку set mouse=a
из .vimrc
, а затем запустил git commit
в Appa, я больше не получаю сообщение об ошибке, но также не получаю подсветку синтаксиса.
Как я могу получить vim, git commit
и Appa, чтобы все играли хорошо друг с другом?
Операционная система Appa - RHEL 6.3 (Сантьяго); Appa vim - версия 7.2; и Appa git - версия 1.7.1. Здесь my .vimrc
(идентичный для всех машин): https://github.com/tswett/setup/blob/c84c8908a04a1d925d90da3da4f2fc83bf56172b/.vimrc
Ответы
Ответ 1
Действительно ли vim
на Appa ведет себя правильно? То есть у вас есть проблема при запуске vim
или только при использовании git commit
?
Если первое:
Вы уверены, что git commit
работает vim
? Во многих приложениях по умолчанию используется vi
при отсутствии какой-либо другой конфигурации, и для vi
типично для (a) минимальная версия vim
отсутствует множество необычных функций или (b) что-то совершенно другое.
Попробуйте явно установить core.editor
на vim
и посмотреть, что произойдет:
git config --global core.editor vim
В качестве альтернативы вы также можете установить переменные среды EDITOR
и VISUAL
.
Ответ 2
Поддержка поддержки мыши может быть включена или отключена в определенных сборках vim. Вы можете посмотреть, какие функции включены/отключены с помощью: :version
. На машине Appa вы, вероятно, увидите -mouse
в списке.
Единственное решение - использовать vim, который был построен с поддержкой мыши. Если вы не контролируете сервер, это означает:
- скомпилировать его самостоятельно или получить скомпилированный исполняемый файл для платформы,
- сохраняя его в локально-локальном каталоге
bin
и
- установка переменной среды
EDITOR
для указания вашего собственного vim.