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 使用多窗口查看调试过程
浙公网安备 33010602011771号