Emacs中使用etags [2]
Install ecb :
Step 1] sudo apt-get install ecb
Step 2] Download xcscopel.el in ~/bin folder and set this file path in .emacs file :
http://opensource.apple.com/source/cscope/cscope-5/cscope/contrib/xcscope/xcscope.el
Step 3] Download : http://deep.syminet.com/.emacs
Step 4] add below lines on to your .emacs file.
(require 'xcscope) (setq load-path (cons "~/bin" load-path))
Symbol Lookup :
Step 1] Go to Project
2] run etags command given below on top directory of Project :
find . -name ‘*.c’ -exec etags -a {} \; -u To Update TAGS table instead -a
or
Assuming CODEDIR to be the top-level source directory, first update your ~/.bashrc like so:
alias mktags=’cd $CODEDIR && etags `find $CODEDIR -name “*.[h|c]“` && cd -’
Then run:
source ~/.bashrc
mktags
Command to Load TAGS in emacs : ALT-M visit-tag-table [It will ask path gives the Path]
3] Load etags in emacs : M-x tag-visible-table [give you TAGS path here]
Emacs etags Command :
Using etags with emacs
1. First tag the entire code. Go to the first directory and run
$ etags `find . -name “*.c” -o -name “*.cpp” -o -name “*.h”`
This is if you are looking for C\CPP\H files. This will generate a “TAGS” file.
2. Open emacs and go to your code directory
3. Let emacs know about the tag file
M-x visit-tag-table [location of the TAGS file]
4. Select the function and do the following
M-. (which translates to ALT-.)
This would take you to the function anywhere in the entire directory structure
5. To go back use
M-*, which translates to ALT-SHIFT-*
Symbol Lookup with cscope
Download cscope program, and xcscope.el and cscope-indexer from some place. Save the xcscope.el onto some directory in Emacs’ load-path. Edit your ~/.emacs as follows:
(require 'xcscope)
To add a directory ~/foo to your load-path, use the following directive in .emacs file, making sure it appears before the “require xcscope” directive:
(setq load-path (cons "~/foo" load-path))
Place cscope-indexer in your $PATH. You can then use these keystrokes while browsing C source code:
- Index files: C-c s I
- Find global definition: C-c s d
- Find symbol definition: C-c s s
- Find this file: C-c s f
- Find functions calling this function: C-c s c
- Find functions called by this function: C-c s C
- Find this pattern: C-c s e
- Find this text string: C-c s t
- Find files including this file: C-c s i
Emacs Dired Command :
C-x d, producing output similar to Bash ‘ls -l’
C-x d — start dired mode
M-x dired — start dired mode
Once dired mode starts the following keys effect the actions. Notice character input is upper case not lower.
d — Delete
o — open file in other window
v — view file
C — Copy
G — Change group
M — Chmod
O — Chown
P — Print
U — Undo
X — Shell command
Z — Compress
C-g — Cancel action
posted on 2012-04-20 16:15 Richard.FreeBSD 阅读(331) 评论(0) 编辑 收藏 举报