У меня установлен vim-comment через vim-plug (вы можете увидеть мои полные файлы точек здесь с моим .vimrc здесь). Когда я использую команду gcc
а затем нажимаю клавишу «Вниз» (выбор диапазона) в любой строке, vim очищает строки и переходит в режим вставки вместо использования плагина комментариев для комментирования этой конкретной строки. Кажется, существует конфликт между типом команды cc
и gcc
. Мой .vimrc здесь и работает :nmap gcc
возвращает:
n gcc <Plug>CommentaryLine
n gc <Plug>Commentary
1 ответ
Когда я использую команду gcc, а затем нажимаю клавишу «вниз» (выбор диапазона) в любой строке
Обратите внимание, что gcc принимает число перед ним, как показано в документации. Когда я выполняю gcc
и <down>
здесь, он просто переключает комментарий к текущей строке и перемещает курсор на следующую.
Я не могу обнаружить ничего подозрительного на вашем .vimrc; проблема, вероятно, вызвана взаимодействием с некоторыми другими плагинами, которые вы используете. Вы можете попробовать выполнить действия, описанные в Vim-FAQ 2.5. Вот некоторые важные части:
2.5. У меня есть (xyz) (некоторые) проблемы с Vim. Как определить, что это проблема с моей настройкой или с Vim? / Нашел ли я ошибку в Vim?
Во-первых, вам необходимо выяснить, есть ли ошибка в реальных файлах среды выполнения или в любом плагине, который распространяется с Vim, или это простой побочный эффект любого параметра конфигурации из вашего .vimrc или .gvimrc. Итак, сначала запустите vim так:
vim -u NONE -U NONE -N -i NONE
это запускает Vim в режиме nocompatible (-N), без чтения вашего файла viminfo (-i NONE), без чтения какого-либо файла конфигурации (-u NONE для не чтения файла .vimrc и -U NONE для не чтения файла .gvimrc) или даже плагин.
Если ошибка не возникает при запуске Vim таким способом, то проблема связана либо с вашим плагином, либо с некоторыми настройками в одном из ваших локальных установочных файлов. Вам нужно выяснить, что вызывает ошибку, попробуйте запустить Vim следующим образом:
vim -u NONE -U NONE -N
Если ошибка возникает, проблема в вашем файле .viminfo. Просто удалите файл viminfo. Если ошибка не возникает, попробуйте:
vim -u ~/.vimrc --noplugin -N -i NONE
Это будет просто использовать ваш .vimrc в качестве файла конфигурации, но не загружать никакие плагины. Если ошибка возникает в этот раз, возможно, ошибка вызвана каким-либо параметром конфигурации в вашем файле .vimrc. В зависимости от длины вашего файла vimrc, может быть довольно сложно отследить источник в этом файле.
Лучший способ - добавить команду: finish к середине вашего .vimrc. Затем перезапустите снова, используя ту же командную строку. Если ошибка все еще возникает, ошибка должна быть вызвана настройкой в первой половине вашего .vimrc. Если этого не произойдет, проблемная настройка должна быть во второй половине вашего .vimrc. Поэтому переместите команду: finish к середине этой половины, из которой, как вы знаете, происходит ошибка, и двигайтесь дальше, пока не найдете проблемный вариант. Если ваш .vimrc имеет длину 350 строк, вам нужно максимум 9 попыток найти линию, которая нарушает работу (на практике это часто можно уменьшить, так как строки часто зависят друг от друга).
Если проблема не возникает, то при загрузке только файла .vimrc ошибка должна быть вызвана плагином или другим файлом времени выполнения (отступ автозагрузки или синтаксический скрипт). Проверьте выходные данные команды: scriptnames, чтобы увидеть, какие файлы были загружены, и для каждого попытайтесь отключить каждый по одному и посмотреть, какой из них вызывает ошибку. Часто файлы, загружаемые vim, имеют простую переменную конфигурации, чтобы отключить их, но вам нужно проверять каждый файл отдельно.
Очевидно, вам придется адаптировать процедуру, чтобы всегда загружать плагин комментариев; вы можете использовать :scriptnames
чтобы убедиться, что он действительно загружен (вам, вероятно, следует сохранить свой менеджер плагинов).