diff options
Diffstat (limited to '.vim/doc/cecscope.txt')
-rw-r--r-- | .vim/doc/cecscope.txt | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/.vim/doc/cecscope.txt b/.vim/doc/cecscope.txt new file mode 100644 index 0000000..46e7121 --- /dev/null +++ b/.vim/doc/cecscope.txt @@ -0,0 +1,167 @@ +*cecscope.txt* Charles E Campblell's Cscope Plugin Nov 12, 2008 + +Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM> + (remove NOSPAM from Campbell's email first) +Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *cecscope-copyright* + The VIM LICENSE applies to cecscope.vim and cecscope.txt + (see |copyright|) except use "cecscope" instead of "Vim". + No warranty, express or implied. Use At-Your-Own-Risk. +Note: Required: + * your :version of vim must have +cscope + * vim 7.0aa snapshot#188 or later for the "quickfix" display + +============================================================================== +1. Contents *cecscope-contents* + + 1. Contents............................: |cecscope-contents| + 2. Installing cecscope.................: |cecscope-install| + 3. Cescope Manual......................: |cecscope-manual| + 3. Cescope Tutorial....................: |cecscope-tutorial| + 5. Cescope History.....................: |cecscope-history| + + +============================================================================== +2. Installing cecscope *cecscope-install* + + 1. vim cecscope.vba.gz + 2. :so % + 3. :q + + Cecscope now requires vim 7.2 or later; it uses the fnameescape() function + to avoid certain security problems. It is possible to use "carefully + crafted filenames" to cause vim to execute arbitrary commands otherwise. + Admittedly, most such filenames are obviously bad apples. + + Using vim 7.2 also means that your vimball plugin is reasonably + up-to-date, which is used by the install process. + +============================================================================== +3. Cescope Manual *cecscope-manual* + *:CS* *:CSL* *:CSS* *:CSH* + :CS [cdefgist] : cscope command handler + :CSL[!] [cdefgist] : locallist style (! restores efm) + :CSS[!] [cdefgist] : split window and use cscope + :CSH : give quick help + :CSR : cscope reset + + ! split vertically + c (calls) find functions calling function under cursor + d (called) find functions called by function under cursor + e (egrep) egrep search for the word under cursor + f (file) open the file named under cursor + g (global) find global definition(s) of word under cursor + i (includes) find files that #include file named under cursor + s (symbol) find all references to the word under cursor + t (text) find all instances of the word under cursor + + A simple > + :CS +< will initialize cscope, building its database if necessary. What + :CS will do: > + + if cscope.out exists in the current directory, cs add it. + if $CSCOPE_DB (an environment variable) exists and the + file it references exists, cs add it. + if cscope.out exists in any directory from the current + directory or in any parent directory up to but not + including the $HOME directory, cs add it. + if cscope is executable, apply cscope -b to the current file. +< + Thus :CS will search for and attempt to use a cscope database, + building one if necessary. + + In addition, when using gvim, there is a menu interface under the + "DrChip" label with all of the above options mentioned. The first + four items are taken from: + + Help + Use Messages Display + Use Horiz Split Display + Use Vert Split Display + Use Quickfix Display + + The "Use" method that's currently active will not be present (initially, + that's the "Use Messages Display"). + + *g:cecscope_dboptions* + For special options to be passed to cscope for database building, set + g:cecscope_dboptions to the desired string. For example, to use all + source files in a so-called namefile: > + let g:cecscope_dboptions= "-inamefile" +< One must explicitly list *.cpp, *.c++, and *.C files, for example, in + such a file. + + +============================================================================== +4. Cescope Tutorial *cecscope-tutorial* + + GETTING STARTED + To use this plugin you'll need to have vim 7.0aa, snapshot#188 or later, + and your version should have +cscope. To check that latter condition, + either look for +cscope through the output of > + :version +< or type > + :echo has("cscope") +< You'll need to recompile your vim if you don't have +cscope. + + BUILDING CSCOPE DATABASE + Once you have your cscope-enabled vim, then change directory to wherever + you have some C code. Type > + cscope -b *.[ch] +< and the cscope database will be generated (<cscope.out>). If you don't + have a cscope database, the file specified by the environment variable + named > + $CSCOPE_DB +< will be used. Sadly, otherwise cecscope.vim will issue a warning message. + + SELECTING A DISPLAY MODE + + Assuming you're using gvim: Select > + DrChip:Cscope:Use Quickfix Display +< This will make the information from cscope show up in a local quickfix + window (see |:lopen|). The other modes allow one to see cscope messages + as regular messages (which will shortly disappear) or in another window. + + USING THE QUICKFIX DISPLAY + Place your cursor atop some function that you've written: > + DrChip:Cscope:Find function which calls word under cursor +< and you'll see a locallist window open up which tells you something like > + xgrep.c|410 info| <<sprt>> Edbg(("xgrep(%s)",sprt(filename))); +< To jump to that entry, type > + :ll +< To jump to the next entry, type > + :lne +< To jump to the previous entry, type > + :lp +< You can also switch windows (ex. <ctrl-w>j, see |window-move-cursor|) + to the locallist window, move the cursor about normally, then hit the + <cr> to jump to the selection. + + USING THE COMMAND LINE + You could've done the above using the command line! Again, just + place your cursor atop some function that you've written, then type: > + :CSL c +< You may use the :ll, :lne, and :lp commands as before. + + HELP + Just type > + :CSH +< for a quick help display. Of course, you can always type : > + :help CS +< too. + + +============================================================================== +5. Cescope History *cecscope-history* + + v4 Nov 12, 2008 * csqf kept if has("quickfix") is true + * vim 7.2 required, and warning message is issued if + vim isn't 7.2 (or later) + * fnameescape() used for security purposes (thus vim 7.2) + * help menu fixed + v3 Oct 12, 2006 : removed "silent" from cscope calls; it prevented the + selector from appearing. + v1 Jan 30, 2006 : initial release + +===================================================================== +vim:tw=78:ts=8:ft=help:sts=4:et:ai |