我正在Solaris上进行+1MLOCC/C++项目(远程,通过VNC或SSH)。我的本地机器上也有一份每日更新的源代码拷贝(Windows,仅用于浏览代码)。我使用VIM和ctags组合(在Solaris和Windows上)但我对结果/速度不满意。您会推荐ctags的哪些设置?有很多选项应该标记什么以及如何标记。我应该为每个项目、每个目录使用单个标记文件,还是只对所有内容使用一个标记文件? 最佳答案 对我来说,对每件事都使用小于1的任何东西都没有意义。能够快速跳转您的项目是标签的首要任务。例如,我们的代码分为3个主要部分,Incl
当使用PHP命名空间时,我处理的代码使用了大量的命名空间别名,例如是否可以配置ExuberantCtags来索引这些namespace别名的使用,这样我就可以从使用别名的行(上面的实例化)直接跳转到真正的类?如果那不可能,那么可以实现的最佳折衷是什么?我在某个地方看到了一个尚未集成的ctags补丁,它使用PHP分词器来支持PHP,而不是当前基于正则表达式的实现;不过,如果可能的话,我想继续使用现有的ctags,而不必自己打补丁和编译版本。 最佳答案 这是官方更新日志:http://ctags.sourceforge.net/news
我是ctags的忠实粉丝,因此我想知道如果我有cscope,我是否会从这两个程序中获益更多。后者似乎与ctags具有相同的特性,即方便查找符号。范围提供的哪些功能可以进一步提高我使用VIM的工作效率?谢谢 最佳答案 cscope肯定可以提高您的工作效率。ctags只允许您导航到符号的声明(单向查找)。cscope允许您:转到符号的声明显示对符号的所有引用的可选列表搜索任何全局定义函数调用的函数调用函数的函数搜索文本字符串搜索正则表达式模式查找文件查找包括一个文件在内的所有文件教程:Vim/CscopetutorialUsingVim
我正在尝试将ctags与我的python项目一起使用,但遇到了ctags将导入行识别为定义的问题。我找到的建议是添加以下行:--python-kinds=-iv到我的~/.ctags文件。但是,我是在Windows机器上执行此操作,找不到与.ctags文件等效的文件。我试过查看我的$HOME目录和我的ctags目录。我试图用谷歌搜索这个问题,但没有任何运气。这是我需要自己创建的文件吗?如果是,我应该把它放在哪里?在与我正在创建的标签文件相同的目录中? 最佳答案 HOMEDRIVE和HOMEPATH环境变量定义了$HOME位置。这pa
我尝试在vim中开发android项目。但是发现在ctags中查找一种方法有点无聊。有没有办法在vim中使用ctags显示自动完成列表?谢谢下面是我的ctags版本:ExuberantCtags5.8,Copyright(C)1996-2009DarrenHiebertCompiled:Mar212011,10:34:51Addresses:,http://ctags.sourceforge.netOptionalcompiledfeatures:+wildcards,+regex和vim的版本:ExuberantCtags5.8,Copyright(C)1996-2009Darren
这就是我需要的-有一个key可以创建我的python站点包的ctags。我有这个命令,它将打印站点包路径:!python-c"fromdistutils.sysconfigimportget_python_lib;printget_python_lib()"这就是我到键映射的方式:map:!ctags-R-f./tags*site-packages-path-goes-here*如何将一个命令的结果插入键绑定(bind)语句?我想在运行时获取站点包路径的原因是我大量使用virtualenv。结果,所需的路径一直在变化。 最佳答案 这
我正在使用exeburent-ctags用于标记我的go源文件。默认情况下,ctags不会在我的go文件中显示导入语句。如何配置ctags以显示文件中的导入语句。我在linux中使用最新版本的ctags。所以它默认支持golang。我需要覆盖ctags配置。 最佳答案 首先,我推荐使用支持gocode的编辑器(SublimeText+Gosublime、Atom+go-plus、vim+vim-go等等)。如果你真的想要ctags,检查gotags. 关于go-配置ctags以显示go源
我想为/usr/include/中的各种库设置单独的ctags数据库,以便与OmniCppComplete一起使用.我们的想法是能够仅引入目标语言(C或C++)中特定项目所需的库。例如,我想要一个用于标准C库的数据库,一个用于可能被C或C++程序(想到套接字/网络)使用的系统库,一个用于标准C++库/STL/boost,然后是QT或者glib等各种第三方库的其他数据库。然后我可以简单地通过在vim中输入settags+=~/.vim/somelib.tags来拉入一些东西。我假设与C++stdlib和STL相关的所有内容都在/usr/include/c++中,而Boost都在/usr/
假设我的代码目录结构如下:/top/second/corea.plb.plc.pl/commond.ple.pl/utilf.plg.plh.pl我应该在哪里运行ctags以便我可以通过vi跳转到函数定义?例如我有:/dir/perla.pl我在dir中运行命令ctags-Rperl但在a.pl中我无法跳转到存在的函数定义在同一个文件中。如果我在perl目录中执行了ctags-R.,它就起作用了。所以我无法理解这个模式。我应该在core,common,util中运行ctags吗?如果我的代码库很大怎么办?我真的需要在每个目录中运行它吗? 最佳答案
我希望能够在我项目的任意子目录中启动vim,并让它在项目根目录中搜索tags文件,然后在项目之外的不相关目录中搜索项目树。例如,假设我有以下内容:~/projects/foo/bar/baz.c~/projects/foo/tags~/some/arbitrary/path/tags我想从bar子目录中打开baz.c,让它向上搜索以找到foo/tags然后进行搜索some/arbitrary/path/tags如果在foo/tags中找不到符号。现在我知道我能做到:settags=./tags,tags;完成第一个任务。显然是分号告诉vim搜索到根目录。但是,以下均无效:settags