Регенерируйте ctags в vim с помощью RVM - PullRequest
12 голосов
/ 27 декабря 2010

В моем .vimrc есть следующий код:

map <Leader>rt :!ctags --extra=+f -R *<CR><CR>

Это создает ctags для моего текущего каталога.

Я использую RVM, я работаю над разными проектами, с разными версиями ruby ​​(через наборы гемов RVM.

У меня разные $ GEM_PATH для проекта, и я хочу сгенерировать ctags для драгоценных камней в этом пути.

Каким образом строка выше должна проверять, установлена ​​ли переменная $ GEM_PATH, и обрабатывать эти пути тоже?

Или еще лучше, как проверить, есть ли у меня файл .rvmrc, и сгенерировать ctags в зависимости от содержимого этого файла?

Ответы [ 6 ]

14 голосов
/ 27 декабря 2010

Я использую пакет для управления драгоценными камнями, поэтому я использую

ctags -R `bundle show rails`/../*

чтобы получить теги для драгоценных камней.

11 голосов
/ 14 мая 2011

Если вы используете rvm, вы можете использовать rvm gemdir.Например, вот что я использую:

map <Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `rvm gemdir`/gems/*<CR><CR>

Это всегда будет использовать каталог gem в вашем текущем наборе гемов rvm.

6 голосов
/ 27 марта 2012

Общая версия для пометки всех установленных драгоценных камней (это занимает некоторое время):

map <silent><Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `gem environment gemdir`/gems/*<CR><CR>

Если вы хотите просто пометить жемчужины в комплекте (намного быстрее):

map <silent> <Leader>rt :!bundle list --paths=true \| xargs ctags --extra=+f --exclude=.git --exclude=log -R *<CR><CR> 
3 голосов
/ 24 декабря 2012

Это хорошо работает для меня:

map <Leader>rt :!/usr/local/bin/ctags --language-force=ruby --exclude=.git --exclude=log -R * `bundle show --paths`

Добавление --language-force = ruby, чтобы уменьшить размер файла тегов и сделать его чистым.

2 голосов
/ 20 февраля 2013

Вот что я использую:

ctags -R --exclude=.git --exclude=log * $(rvm gemdir)
0 голосов
/ 21 мая 2012

Я не уверен, поможет ли это вам в вашей ситуации, поскольку я знаю причуду на macs, которая требует от меня запускать sudo mv /etc/zshenv /etc/zprofile каждый раз, когда я устанавливаю vim, чтобы заставить работать с Rails.vim (Rtags) в изобилии , Подробнее см. Этот пост:

Переменная $ PATH неправильно установлена ​​в gvim / MacVim при открытии из искателя

...