2013-09-28 33 views
0

當你提取「ctags58.zip」旺盛C標籤的檔案你\下載文件夾的Windows,然後添加此命令你的vimrc文件:產生在特定目錄中的所有C++文件標籤文件除了在其子目錄

let $PATH .= ';C:\Users\USR\Downloads\ctags58'

而且在使用命令:!mkdir C:\Users\USR\vimfiles\tags創建文件夾的Vim後(TE而

:!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 

這些命令只是產生一個標籤文件,包括XT編輯),爲什麼下面的命令低於沒有正常工作目錄。這是他們的全部源:

!_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 /[email protected]/ 
!_TAG_PROGRAM_NAME Exuberant Ctags // 
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ 
!_TAG_PROGRAM_VERSION 5.8 // 

我想是產生在所有C++文件標籤文件\包括目錄除了在\包括子目錄。下面的命令工作,但它的處理上所有子目錄:

:!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

您是否想要將所有文件包含在頂級'include'目錄中,包括子目錄,但不包括其他目錄中的任何文件,也稱爲'include'(例如「include \ something \ include \ file.txt」 )?或者你不想包含任何子目錄? –

+0

@GavinSmith包含頂級「_ \ include」_目錄中的所有文件,但不包括其子目錄中的所有文件。 – 5ervant

+0

嘗試丟掉'-R'或將其替換爲'--recurse = no'。 –

回答

1

對ctags的--exclude選項可用於排除名稱與模式匹配或文件中列出的文件。

如果您不想查看任何子目錄,請不要使用-R--recurse)選項。然後你必須列出要處理的文件(而不是包含它們的目錄)。這很容易通過通配符完成:例如,處理當前目錄中的所有文件,ctags *。如果您只想包含具有特定文件擴展名的文件,則應使用適當的通配符模式;例如,用於C++文件的*.cc*.cxx。它看起來像你沒有這樣做,只是命名包含文件的目錄。

相關問題