在 Windows 上的 \ Downloads 文件夹中解压缩Exuberant Ctags的“ctags58.zip”存档后,再添加此项命令 vimrc 文件:
let $PATH .= ';C:\Users\USR\Downloads\ctags58'
使用 Vim (文本编辑器)中的命令:!mkdir C:\Users\USR\vimfiles\tags
创建文件夹后,为什么以下命令无法正常工作:
:!ctags --recurse=no --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\cpp C:\Users\USR\Projects\PROJ\include
和
:!ctags --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\cpp C:\Users\USR\Projects\PROJ\include
这些命令只生成一个标记文件,而不标记 \ include 目录中的任何文件。这是他们的全部资料来源:
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
我想要的是为 \ include 目录中的所有C ++文件生成一个标签文件,但 \ include 子目录除外。以下命令正在运行,但它正在处理所有子目录:
:!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f C:\Users\USR\vimfiles\tags\cpp C:\Users\USR\Projects\PROJ\include
请注意,路径C:\Users\USR\Projects\PROJ\include
已存在。
答案 0 :(得分:1)
ctags的--exclude
选项可用于排除名称与模式匹配或文件中列出的文件。
如果您根本不想查看任何子目录,请不要使用-R
(--recurse
)选项。然后,您必须列出要处理的文件(而不是包含它们的目录)。这可以通过通配符轻松完成:例如,处理当前目录中的所有文件ctags *
。如果您只想包含具有特定文件扩展名的文件,则应使用适当的通配符模式;例如,*.cc
或*.cxx
表示C ++文件。看起来你没有这样做,只是命名包含文件的目录。