我开始在windows7(64位)的gvim中使用taglist插件这是路径pathofctags:C:\ctags58pathofgvim:C:\ProgramFiles(x86)\Vim\vim73当我输入TlistToggle时,我收到以下错误消息。Errordetectedwhileprocessingfunction17_Tlist_WIndow_Toggle..17_Tlist_Window_Open..17_Tlist_Window_Refresh..17_Tlist_Window_Refresh_File..17_Tlist_Process_File:E484:Can'
我最近放弃了鼠标驱动的、特定于平台的GUI编辑器,并完全致力于vim。到目前为止的体验非常棒,但我对Javascript感到困惑。广受欢迎的taglist实用程序(使用ExuberantCtags)对除Javascript以外的所有东西都非常有用。由于该语言过于自由的形式和结构,当我打开它时,taglist只能选择少数函数——只有那些以格式定义的函数:functionFUNCNAME(arg1,arg2){但没有像这样定义的变量或函数对象:varmyFunc=function(arg1,arg2){所以我用谷歌搜索了一下,找到了以下为ctags设置的定义,我把它放在我的~/.ctags
有没有办法在VIM命令行中显示当前的PHP函数或类名?我找到了一个用于显示Cfunctionnamesinthestatusline的插件但它不适用于PHP,无论如何我更喜欢使用命令行来保存有值(value)的垂直线。谢谢。 最佳答案 编辑在TagList的帮助中寻找完全不相关的东西时,我刚刚找到了这两个函数:Tlist_Get_Tagname_By_Line()Tlist_Get_Tag_Prototype_By_Line()在我的状态栏中添加这个效果很好:%{Tlist_Get_Tagname_By_Line()}还有,你读过V
有什么方法可以让ctags以某种方式支持PHP/Python提供的内置函数(或者我当时正在使用的任何函数),这样我也可以在vim和SourceExplorer中使用它们一样吗?更新:好的,所以使用python我可以在源文件夹上运行ctags以获取带有内置函数的标签文件,尽管使用PHP它似乎不起作用,但是PHP的源文件包含如下行:/*{{{protoresourcemysql_connect([stringhostname[:port][:/path/to/socket][,stringusername[,stringpassword[,boolnew[,intflags]]]]])因此
我正在使用vim的ctag来浏览C++代码。在许多情况下,它工作正常。但在以下情况下会出现一些错误:vectorv;v.push_back(10);当我从此处的“push_back”导航时,它会将我带到/usr/include/c++/4.4.7/bits/basic_string.h的push_back()我想知道这是vim/ctags的错误还是缺点?谢谢! 最佳答案 Vim的标签导航不是语法树感知的。默认情况下,它会跳转到标签文件中的第一个匹配标签。 关于c++-vimctag导致f
我想知道是否可以从exuberantctags生成的标签中自动完成函数参数?我注意到当我生成一个标签时,我看到函数参数WITH函数,因此假设可以完成参数是合乎逻辑的。我知道有替代方案,例如clang_complete和youcompleteme,它们使用clang编译器,但这是一个附加的依赖项。我已经在使用Tagbar+EasyTags等,所以如果它已经存在,为什么不直接使用标签,而不是让vim膨胀。 最佳答案 这并不是函数参数的真正“完成”,但根据对您问题的评论,您说您想要一个指南,了解函数在完成标记完成后采用哪些参数。如果你的补
如何让ctags解析using类型别名,如下所示?usingFooPtr=std::shared_ptr;它只选取那些用typedef声明的。 最佳答案 从Exuberant-ctags派生的Universal-ctags(https://ctags.io)在C++源文件中处理“使用”:[jet@localhost]/tmp%cat/tmp/foo.cppusingFooPtr=std::shared_ptr;[jet@localhost]/tmp%u-ctags-o-/tmp/foo.cppFooPtr/tmp/foo.cpp/^
我使用emacs和etags在项目中导航,是否可以通过搜索函数轻松找到头文件。我一直在使用VisualStudio,我可以通过单击goto声明来查看它在emacs中使用etags有类似的方法吗?例如ArchiveDialog::onKeyPress()搜索将在ArchiveDialog的头文件中的onkeypress声明(源文件顶部的#include)。目前,当我使用etags“M-.onKeyPress”时,只会在cpp文件中找到标签,而不是我的头文件。任何帮助将不胜感激谢谢 最佳答案 CEDET的语义应该提供相应的功能.....
在具有几层的相当大的代码库中,有没有办法在vim或命令行中找到从基类派生的所有类?grep是一个选项,但可能会很慢,因为grep没有索引。 最佳答案 cscope和ctags都不允许我们直接处理继承,但是相对解决这个限制是很容易的,因为派生类也被索引了。控制范围在cscope中,寻找“C符号”Foobar通常会列出原始类和继承自它的类。由于搜索是针对数据库完成的,因此速度快如闪电。或者,您可以使用cscope的egrep搜索功能和类似:.*Foobar的模式来列出仅继承自Foobar的类。因此,即使我们没有专门的“查找继承自此类的类
我试图用ctags标记一个C++项目,并使用此答案C++sourcetagging中列出的选项.我在一个包含多个文件夹的项目树中,这些文件夹包含源文件。我尝试了以下方法来标记整个源代码树ctags--c++-kinds=+p--fields=+iaS--extra=+q--language-force=C++-R.find.-typef\(-iname"*.cpp"-o-iname"*.hpp"\)|xargsctags--c++-kinds=+p--fields=+iaS--extra=+q--language-force=C++ctags-R.ctags-R*和上面所有的都给出同样