【发布时间】:2012-04-12 09:16:47
【问题描述】:
我正在使用以下命令为我的 Ruby on Rails 项目的 emacs 生成标签文件:
ctags -f TAGS --extra=-f --languages=-javascript --exclude=.git --exclude=log -e -R . $(rvm gemdir)/gems/
当我尝试查找标签(使用 M-.)时,一些标签可以正常工作,但对于很多其他标签,我会收到如下错误:
tag-find-file-of-tag-noselect: File /Users/simao/Documents/sp/ofe/° ¡ not found
etags-goto-tag-location: Rerun etags: `^class Tools::FilteringSteps' not found in /Users/simao/Documents/sp/ofe/lib/geo_db.rb
您如何使用 emacs 为您的 RoR 项目生成标签?你以前见过这个问题吗?
这是ctags --version的输出
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Mar 9 2012, 15:47:35
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
我的emacs版本:
GNU Emacs 24.0.95.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2012-04-02
【问题讨论】:
-
为了清楚起见,是
^class Tools::FilteringStepsin/Users/simao/Documents/sp/ofe/lib/geo_db.rb? -
所以您是说 etags 错误地索引了您的项目,并且 TAGS 文件认为该类/方法位于与其实际所在位置不同的文件中? (它在哪里它实际上生活在哪里?)
-
是的,它认为它在不同的文件上,并且还在文件名中引入了奇怪的字符
-
你运行的是哪个版本的 ctags?
-
我用
ctags --version更新了我的答案。谢谢
标签: ruby-on-rails ruby emacs rvm ctags