ubuntu14.04 下emacs 24 配置
目的: 配置emacs 24 适合编程开发
主要参考JerryZhang的配置(Emacs 简易教程)
http://www.perfect-is-shit.com/emacs-simple-tutorial.html#tocAnchor-1-16-5
https://gitcafe.com/JerryZhang/Emacs-Config
优点: 插件少 基本功能都比较全,emacs 配置后启动比较快速
安装过程如下:
git clone https://gitcafe.com/JerryZhang/emacs-config.git ~/.emacs.d (后面的地址可更换,下载后复制到~/.emacs.d目录下)
cd ~/.emacs.d/lisp/helm && make
安装完成后
init.el更改内容
显示行号.去掉(global-linum-mode 1)前的分号(;)
- 增加切换buffer的快捷键
;;------------------------------------------------------------------------------ ;; 快速切换至上个buffer ;; Shift+TAB切换至上个buffer ;;------------------------------------------------------------------------------ (global-set-key (kbd "<backtab>") #'(lambda () (interactive) (switch-to-buffer (other-buffer (current-buffer) 1))))
- 增加 speedbar
下载 sr-speedbar.el 至.emacs.d/lisp目录下
init.el 添加代码
;;------------------------------------------------------------------------------ ;; 使用speedbar <F6>切换speedbar的开启状态 ;; s键在speedbar中搜索 u键回到上一个目录 ;;------------------------------------------------------------------------------ (require 'sr-speedbar) (global-set-key (kbd "<f6>") (lambda() (interactive) (sr-speedbar-refresh) (sr-speedbar-toggle) (unless (sr-speedbar-exist-p) (kill-buffer "*SPEEDBAR*")))) (require 'speedbar) (define-key speedbar-mode-map (kbd "s") #'(lambda () (interactive) (beginning-of-buffer) (isearch-forward))) (define-key speedbar-mode-map (kbd "u") #'(lambda () (interactive) (speedbar-up-directory)))
开启ido支持
;;------------------------------------------------------------------------------ ;; 开启ido 支持 ;;------------------------------------------------------------------------------ (require 'ido) (ido-mode t) ;;ido模式中不保存目录列表,解决退出Emacs时ido要询问编码的问题。 (setq ido-save-directory-list-file nil)
tabbar设置 参考 http://blog.csdn.net/CherylNatsu/article/details/6204737
代码折叠 参考 Distopico Vegan / Distopico .emacs.d · Files
下载 hideshow.el 至.emacs.d/lisp目录下
;;------------------------------------------------------------------------------ ;;代码折叠 ;;------------------------------------------------------------------------------ ;(autoload 'hideshowvis-enable "hideshowvis" "Highlight foldable regions") ;(autoload 'hideshowvis-symbols "hideshowvis" "Highlight foldable regions") (require 'hideshowvis) (hideshowvis-symbols) (autoload 'hideshowvis-minor-mode "hideshowvis" "Will indicate regions foldable with hideshow in the fringe." 'interactive) (add-to-list 'hs-special-modes-alist '(ruby-mode "\\(def\\|do\\|{\\)" "\\(end\\|end\\|}\\)" "#" (lambda (arg) (ruby-end-of-block)) nil)) (dolist (hook (list 'emacs-lisp-mode-hook 'lisp-mode-hook 'ruby-mode-hook 'perl-mode-hook 'php-mode-hook 'html-mode-hook ;'web-mode-hook 'sh-mode-hook 'multi-web-mode-hook 'python-mode-hook 'lua-mode-hook 'c-mode-hook 'java-mode-hook 'js-mode-hook 'css-mode-hook 'c++-mode-hook)) (add-hook hook 'hideshowvis-enable)) ;change -/+ to ▼/▶ ;(define-fringe-bitmap 'hideshowvis-hideable-marker [0 0 254 124 56 16 0 0]) ;(define-fringe-bitmap 'hs-marker [0 32 48 56 60 56 48 32]) (custom-set-faces '(hs-fringe-face ((t (:foreground "#afeeee" :box (:line-width 2 :color "grey75" :style released-button))))) '(hs-face ((t (:background "#444" :box t)))) '(hideshowvis-hidable-face ((t (:foreground "#2f4f4f")))) ) (provide 'conf-hideshowvis)
提供的F*快捷键
F2 grep
F3 eshell
F4 插入当前时间
F5 compile
F6 speedbar
安装cscope
sudo apt-get install cscope
xcscope.el 使用:
cscope-indexer -r
: 在根目录下递归生成数据库C-c s a
: Set initial directory;C-c s A
: Unset initial directory;C-c s I
: create list of files to index;C-c s s
: Find symbol;C-c s d
: Find global definition;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;C-c s b
: Display cscope buffer;C-c s u
: back
其他可供参考的配置:
C/C++ Development Environment for Emacs
http://tuhdo.github.io/c-ide.html
一年成为Emacs高手(像神一样使用编辑器)
http://blog.csdn.net/redguardtoo/article/details/7222501
在使用gdb调试程序时
先M-x gdb 打开gdb调试
然后M-x gdb-many-windows 使用多窗口查看调试过程