Используя vimdiff с другим .vimrc? - PullRequest
12 голосов
/ 22 декабря 2009

Я использую Vim для большей части своего редактирования за последнюю неделю или около того, и мне нравится этот опыт. Однако у меня есть проблема.

Я установил свой .vimrc файл с NERD_tree и несколькими другими вкусностями. Это хорошо работает, когда я пишу код. Однако иногда я использую vimdiff через Git, и это вызывает некоторые проблемы. Мне не нужно открывать NERD_Tree, когда я делаю это или многие другие вещи, которые я настроил в моем файле .vimrc.

Вот мой вопрос. Есть ли способ проверить, что вызывает мой файл .vimrc и выполнить ли он другой код в зависимости от вызывающего? В частности, как мне проверить, является ли vimdiff вызывающим абонентом? Или я поступаю совершенно неправильно?

Ответы [ 2 ]

25 голосов
/ 22 декабря 2009

Выдержка из руководства VIM, которое вызывается путем ввода :h diff

if &diff
   setup for diff mode
else
   setup for non-diff mode
endif
4 голосов
/ 22 декабря 2009

Определенно, вы хотите использовать решение Дэниела Брюса - я подозреваю, что вы всегда хотите другую конфигурацию для vimdiff, чем для vim, независимо от того, присутствует ли git на рисунке или нет.

Но если вам нужно определенное поведение для vimdiff при использовании с git, а не в автономном режиме, вы можете вместо этого использовать скрипт-обертку для вашего gitconfig [diff] external, и скрипт может выбрать другой файл rc в целом.

...