ast*_*nic 12 ruby vim rubygems ruby-on-rails ctags
我的.vimrc中有以下代码:
map <Leader>rt :!ctags --extra=+f -R *<CR><CR>
Run Code Online (Sandbox Code Playgroud)
这会为我当前的目录生成ctags.
我正在使用RVM,我正在开发不同的项目,使用不同的ruby版本(通过RVM gemsets.
每个项目我有一个不同的$ GEM_PATH,我也希望在这个路径中为gems生成ctags.
如果设置$ GEM_PATH变量,并且还要处理这些路径,上面的行应如何测试?
或者更好的是如何检查我是否有.rvmrc文件,并根据此文件的内容生成ctags?
kar*_*kie 14
我使用bundler管理宝石,所以我使用
ctags -R `bundle show rails`/../*
Run Code Online (Sandbox Code Playgroud)
获取宝石的标签.
mar*_*ada 11
如果您使用的是rvm,则可以使用rvm gemdir.例如,这就是我正在使用的:
map <Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `rvm gemdir`/gems/*<CR><CR>
Run Code Online (Sandbox Code Playgroud)
这将始终使用当前rvm gemset中的gem目录.
标记所有已安装宝石的通用版本(需要一段时间):
map <silent><Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `gem environment gemdir`/gems/*<CR><CR>
Run Code Online (Sandbox Code Playgroud)
如果你想只标记捆绑的宝石(更快):
map <silent> <Leader>rt :!bundle list --paths=true \| xargs ctags --extra=+f --exclude=.git --exclude=log -R *<CR><CR>
Run Code Online (Sandbox Code Playgroud)