Как определить тип ОС и установить путь ctags в .vimrc?

Я использую vim как на FreeBSD, так и на ОС Linux, используя один и тот же файл конфигурации .vimrc. Есть одна проблема: в FreeBSD двоичный путь ctags — /usr/local/bin/exctags, а в Linux — /usr/bin/ctags. Так как же определить тип ОС и установить двоичный путь ctags отдельно?

ОБНОВЛЕНИЕ:
Я обнаружил, что после установки плагина taglist он автоматически определяет путь ctags и сохраняет его в переменной g:Tlist_Ctags_Cmd.


person Lion    schedule 09.04.2012    source источник
comment
Проверьте это, если вы еще не stackoverflow.com/a/6847015/151465   -  person Raimondi    schedule 09.04.2012


Ответы (1)


Я столкнулся с той же проблемой некоторое время назад, и я решил ее следующим образом:

if executable('exctags')
   " On Free-BSD, exuberant ctags is installed as exctags
   let l:sCtagsName = 'exctags'
elseif executable('ctags')
   let l:sCtagsName = 'ctags'
endif

а затем я использую переменную l:sCtagsName для вызова ctags. Это работает хорошо для меня.

И, если вы используете ctags в Vim, почему бы не использовать плагин Indexer, который создан специально для этого? Он автоматически генерирует теги для всех файлов проектов и поддерживает их в актуальном состоянии. Вы можете проверить другой мой ответ, чтобы получить более подробную информацию.

person Dmitry Frank    schedule 09.04.2012
comment
Отлично! И спасибо за рекомендацию плагина индексатора для меня. - person Lion; 09.04.2012