• Emacs cscope


    Emacs cscope

    Emacs cscope

    1 cscope

    很久前(大约在09年一个夏天吧)刚开始接触到vi,就喜欢上了vi,于是写代码也就无处不vi了,后来用了vim,自然离不开cscope来查看代码。 用了有几年了,现在换Emacs了,还是忘不了它。于是记录一下它在Emacs下的使用情况。

    2 install

    ;; Installation steps:
    ;;
    ;; 0. (It is, of course, assumed that cscope is already properly
    ;;    installed on the current system.)
    ;;
    ;; 1. Install the "cscope-indexer" script into some convenient
    ;;    directory in $PATH.  The only real constraint is that (X)Emacs
    ;;    must be able to find and execute it.  You may also have to edit
    ;;    the value of PATH in the script, although this is unlikely; the
    ;;    majority of people should be able to use the script, "as-is".
    ;;
    ;; 2. Make sure that the "cscope-indexer" script is executable.  In
    ;;    particular, if you had to ftp this file, it is probably no
    ;;    longer executable.
    ;;
    ;; 3. Put this emacs-lisp file somewhere where (X)Emacs can find it.  It
    ;;    basically has to be in some directory listed in "load-path".
    ;;
    ;; 4. Edit your ~/.emacs file to add the line:
    ;;
    ;;      (require 'xcscope)
    ;;
    ;; 5. If you intend to use xcscope.el often you can optionally edit your
    ;;    ~/.emacs file to add keybindings that reduce the number of keystrokes
    ;;    required.  For example, the following will add "C-f#" keybindings, which
    ;;    are easier to type than the usual "C-c s" prefixed keybindings.  Note
    ;;    that specifying "global-map" instead of "cscope:map" makes the
    ;;    keybindings available in all buffers:
    ;;
    ;;  (define-key global-map [(control f3)]  'cscope-set-initial-directory)
    ;;  (define-key global-map [(control f4)]  'cscope-unset-initial-directory)
    ;;  (define-key global-map [(control f5)]  'cscope-find-this-symbol)
    ;;  (define-key global-map [(control f6)]  'cscope-find-global-definition)
    ;;  (define-key global-map [(control f7)]
    ;;    'cscope-find-global-definition-no-prompting)
    ;;  (define-key global-map [(control f8)]  'cscope-pop-mark)
    ;;  (define-key global-map [(control f9)]  'cscope-next-symbol)
    ;;  (define-key global-map [(control f10)] 'cscope-next-file)
    ;;  (define-key global-map [(control f11)] 'cscope-prev-symbol)
    ;;  (define-key global-map [(control f12)] 'cscope-prev-file)
    ;;      (define-key global-map [(meta f9)]  'cscope-display-buffer)
    ;;      (defin-ekey global-map [(meta f10)] 'cscope-display-buffer-toggle)
    ;;
    ;; 6. Restart (X)Emacs.  That's it.
    ;;
    
    

    3 functaion

    ;;         Find symbol
    ;;         Find global definition
    ;;         Find called functions
    ;;         Find functions calling a function
    ;;         Find text string
    ;;         Find egrep pattern
    ;;         Find a file
    ;;         Find files #including a file
    
    
    

    4 Keybindings

    ;; * Keybindings:
    ;;
    ;; All keybindings use the "C-c s" prefix, but are usable only while
    ;; editing a source file, or in the cscope results buffer:
    ;;
    ;;      C-c s s         Find symbol.
    ;;      C-c s d         Find global definition.
    ;;      C-c s g         Find global definition (alternate binding).
    ;;      C-c s G         Find global definition without prompting.
    ;;      C-c s c         Find functions calling a function.
    ;;      C-c s C         Find called functions (list functions called
    ;;                      from a function).
    ;;      C-c s t         Find text string.
    ;;      C-c s e         Find egrep pattern.
    ;;      C-c s f         Find a file.
    ;;      C-c s i         Find files #including a file.
    ;;
    ;; These pertain to navigation through the search results:
    ;;
    ;;      C-c s b         Display *cscope* buffer.
    ;;      C-c s B         Auto display *cscope* buffer toggle.
    ;;      C-c s n         Next symbol.
    ;;      C-c s N         Next file.
    ;;      C-c s p         Previous symbol.
    ;;      C-c s P         Previous file.
    ;;      C-c s u         Pop mark.
    ;;
    ;; These pertain to setting and unsetting the variable,
    ;; `cscope-initial-directory', (location searched for the cscope database
    ;;  directory):
    ;;
    ;;      C-c s a         Set initial directory.
    ;;      C-c s A         Unset initial directory.
    ;;
    ;; These pertain to cscope database maintenance:
    ;;
    ;;      C-c s L         Create list of files to index.
    ;;      C-c s I         Create list and index.
    ;;      C-c s E         Edit list of files to index.
    ;;      C-c s W         Locate this buffer's cscope directory
    ;;                      ("W" --> "where").
    ;;      C-c s S         Locate this buffer's cscope directory.
    ;;                      (alternate binding: "S" --> "show").
    ;;      C-c s T         Locate this buffer's cscope directory.
    ;;                      (alternate binding: "T" --> "tell").
    ;;      C-c s D         Dired this buffer's directory.
    ;;
    
    
    

    Date: 2012-12-29 Sat

    Author: liweilijie

    Org version 7.9.2 with Emacs version 23

    Validate XHTML 1.0
  • 相关阅读:
    android 混淆代码 -- 报错:can't find referenced class
    adb shell 删除删除指定文件夹和文件
    php GD库
    javascript的继承实现
    Mysql
    如何使用canvas画星星
    基于形态编程设计类
    算法
    腾讯web前端一面
    如何去克服害怕
  • 原文地址:https://www.cnblogs.com/liweilijie/p/2838920.html
Copyright © 2020-2023  润新知