Как запустить vim, не выполняя /etc/vimrc?

На моем Linux-сервере на работе администраторы не установили cscope, и я установил его из исходного каталога в своем домашнем каталоге и добавил в $PATH. Проблема в том, что /etc/vimrc имеет ссылку на /usr/bin/cscope, который не существует, и каждый раз, когда я запускаю vim, он жалуется на это, и я должен нажать, чтобы это сообщение исчезло.

Интересно, что, если я удаляю cscope из моего $PATH, я не получаю такого поведения - поэтому возможно, что vim проверяет, существует ли где-то cscope, и только затем выполняет настройку cscope - но тогда он ошибается!

Поэтому мой вопрос: могу ли я что-то настроить в моем.vimrc, чтобы он не являлся источником глобального /etc/vimrc? Я не хочу перемещать cscope из PATH, так как я не хочу вводить полное имя каталога каждый раз, когда запускаю его из командной строки.

2 ответа

Решение

Со страницы руководства Vim:

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other
initializations are skipped. Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.

Если вы все еще хотите, чтобы ваш ~/.vimrc обрабатывался, попробуйте это:

vim -u ~/.vimrc

Добавьте следующую строку в ~/.bashrc (или эквивалентный файл вашей оболочки, если не bash), чтобы автоматически добавить ключ -u:

alias vim="vim -u ~/.vimrc"

Вы не сможете добавить что-то в ~/.vimrc, чтобы предотвратить чтение / etc / vimrc, потому что системный файл обрабатывается перед вашим пользовательским файлом (см. ": Help init", раздел 3, "Выполнение команд Ex, из переменных среды и / или файлов ").

Со страницы руководства Vim:

-u {vimrc}

Используйте команды в файле {vimrc} для инициализации. Все остальные инициализации пропускаются. Используйте это, чтобы редактировать особый вид файлов. Его также можно использовать для пропуска всех инициализаций, указав имя "НЕТ". Смотрите ": инициализация справки" в vim для более подробной информации.

Так что это должно сделать работу:

vim -u NONE

Вы должны быть в состоянии связать это с вашей обычной командой для повседневного использования.

Другие вопросы по тегам