Подтвердить что ты не робот

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

4b9b3361

Ответ 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.