⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faq

📁 ctags-5.5.4.tar.gz,一个很好的代码开发以及编辑源码
💻
📖 第 1 页 / 共 2 页
字号:
Frequently Asked Questions==========================    * 1.  Why do you call it "Exuberant Ctags"?    * 2.  Why doesn't my editor work with these tag files?    * 3.  What are these strange bits of text beginning with ;"?    * 4.  Why doesn't XEmacs' Speedbar module work with Exuberant Ctags?    * 5.  Why doesn't Xemacs correctly locate the tag in the source file?    * 6.  Why doesn't NEdit correctly locate the tag in the source file?    * 7.  Why can't I jump to "class::member"?    * 8.  How can I avoid having to specify my favorite option every time?    * 9.  Why do I end up on the wrong line when I jump to a tag?    * 10.  How do I jump to the tag I want instead of the wrong one by the           same name?    * 11.  What is "Vim"?    * 12.  How can I locate all references to a specific function or variable?    * 13.  Why does appending tags to a tag file tag so long?    * 14.  How do I get regex support for Win32?    * 15.  How should I set up tag files for a multi-level directory hierarchy?  ----------------------------------------------------------------------1.  Why do you call it "Exuberant Ctags"?Because one of the meanings of the word "exuberant" is:    exuberant : produced in extreme abundance : PLENTIFUL syn see PROFUSECompare the tag file produced by Exuberant Ctags with that produced by anyother ctags and you will see how appropriate the name is.  ----------------------------------------------------------------------2.  Why doesn't my editor work with these tag files?3.  What are these strange bits of text beginning with ;" which follow    many of the lines in the tag file?These are "extension flags". They are added in order to provide extrainformation about the tag that may be utilized by the editor in order tomore intelligently handle tags. They are appended to the EX command part ofthe tag line in a manner that provides backwards compatibility with existingimplementations of the Vi editor. The semicolon is an EX command separatorand the double quote begins an EX comment. Thus, the extension flags appearas an EX comment and should be ignored by the editor when it processes theEX command.Some non-vi editors, however, implement only the bare minimum of EX commandsin order to process the search command or line number in the third field ofthe tag file. If you encounter this problem, use the option "--format=1" togenerate a tag file without these extensions (remember that you can set theCTAGS environment variable to any default arguments you wish to supply). Thenask the supplier of your editor to implement handling of this feature of EXcommands.  ----------------------------------------------------------------------4.  Why doesn't XEmacs' Speedbar module work with Exuberant Ctags?The default command line switches used by XEmacs for "etags" are notcompatible with Exuberant Ctags options. By default, Exuberant Ctags installsa symbolic link, "etags", pointing to the ctags executable. When ExuberantCtags is started with the name "etags", it produces Emacs-style tag files bydefault.To fix this, add the following lines to your .emacs file, replacing the pathto "etags" with the path where the symbolic link was installed.(autoload 'speedbar "speedbar")(setq speedbar-fetch-etags-command "/usr/local/bin/etags"      speedbar-fetch-etags-arguments '("-f" "-"))  ----------------------------------------------------------------------5.  Why doesn't Xemacs correctly locate the tag in the source file?This has been observed with version 20.3. It seems that when Xemacs searchesfor a tag, it searches using the tag name instead of the search string locatedin the TAGS file. This is a bug in Xemacs and does not occur in the GNUversion of Emacs.  ----------------------------------------------------------------------6.  Why doesn't NEdit correctly locate the tag in the source file?Versions of NEdit prior to 5.1 did not support the extended tag file formatgenerated by Exuberant Ctags by default. Either upgrade to version 5.1 orspecify the option "--format=1" when running ctags to output the old tag fileformat.  ----------------------------------------------------------------------7.  Why can't I jump to "class::member"?Because, by default, ctags only generates tags for the separate identifiersfound in the source files. If you specify the --extra=+q option, thenctags will also generate a second, class-qualified tag for each class member(data and function/method) in the form class::member for C++, and in the formclass.method for Eiffel and Java.  ----------------------------------------------------------------------8.  How can I avoid having to specify my favorite option every time?Either by setting the environment variable CTAGS to your customoptions, or putting them into a .ctags file in your home directory.  ----------------------------------------------------------------------9.  Why do I end up on the wrong line when I jump to a tag?By default, ctags encodes the line number in the file where macro (#define)tags are found. This was done to remain compatible with the original UNIXversion of ctags. If you change the file containing the tag withoutrebuilding the tag file, the location of tag in the tag file may no longermatch the current location.In order to avoid this problem, you can specify the option "--excmd=p",which causes ctags to use a search pattern to locate macro tags. I havenever uncovered the reason why the original UNIX ctags used line numbersexclusively for macro tags, but have so far resisted changing the defaultbehaviour of Exuberant Ctags to behave differently.  ----------------------------------------------------------------------10.  How do I jump to the tag I want instead of the wrong one by the     same name?A tag file is simple a list of tag names and where to find them. If thereare duplicate entries, you often end up going to the wrong one because thetag file is sorted and your editor locates the first one in the tag file.Standard Vi provides no facilities to alter this behavior. However, Vimhas some nice features to minimize this problem, primarly by examining allmatches and choosing the best one under the circumstances. Vim also providescommands which allow for selection of the desired matching tag.  ----------------------------------------------------------------------11.  What is "Vim"?Vim is a vi-compatible editor available as source and compilable for anyplatform. Yeah, I know the first reaction is to shy away from this. But youwill never regret getting it, and you will become greatly attached to itsfeatures, which you can learn gradually. I would be willing to say that itis the best vi-clone available within 4 light-years of Alpha Centauri. Itworks (nearly) exactly like standard vi, but provides some incredibly usefulextensions (some of which I have participated in designing with the author).Most Linux distributions have adopted Vim as its standard vi.  ----------------------------------------------------------------------12.  How can I locate all references to a specific function or variable?There are several packages already available which provide this capability.Namely, these are: GLOBAL source code tag system, GNU id-utils, cscope,and cflow. As of this writing, they can be found in the following locations:GLOBAL:    http://www.gnu.org/software/globalid-utils:  http://www.gnu.org/software/idutils/idutils.htmlcscope:    http://cscope.sourceforge.netcflow:     ftp://www.ibiblio.org/pub/Linux/devel/lang/c  ----------------------------------------------------------------------13.  Why does appending tags to a tag file tag so long?Sometimes, in an attempt to build a global tag file for all source files ina large source tree of many directories, someone will make an attempt to runctags in append (-a) mode on every directory in the hierarchy. Each timectags is invoked, its default behavior is to sort the tag file once the tagsfor that execution have been added. As the cumulative tag file grows, the sorttime increases arithmetically.The best way to avoid this problem (and the most efficient) is to makeuse of the --recurse (or -R) option of ctags by executing the followingcommand in the root of the directory hierarchy (thus running ctags only once):        ctags -RIf you really insist on running ctags separately on each directory, you canavoid the sort pass each time by specifying the option "--sort=no". Once thetag file is completely built, use the sort command to manually sort thefinal tag file, or let the final invocation of ctags sort the file.  ----------------------------------------------------------------------14.  How do I get regex support for Win32?You need to download the GNU regex package for Win32 from the followinglocation:    http://people.delphiforums.com/gjc/gnu_regex.htmlThen point the makefile macro, REGEX_DIR, found in mk_mvc.mak and mk_bc5.mak,to the directory created by extracting this archive.  ----------------------------------------------------------------------15.  How should I set up tag files for a multi-level directory hierarchy?

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -