Table of Contents
配置
公共包
package
这个包主要是用于包管理,有点像debian系统中的apt系统,用于插件的安装,升级等。(require 'package) (push '("marmalade" . "http://marmalade-repo.org/packages/") package-archives ) (push '("melpa" . "http://melpa.milkbox.net/packages/") package-archives) (package-initialize)
cl
这个是common lisp包,主要提供一系列函数和宏。(require 'cl)
在init-evil.el中给mode-line着色使用到了词法let(lexical-let),这个宏是有cl提供的。
evil
vim扩展键, 配置参见.emacs.d/lisp/init-evil
- 关联插件evil-surround
修改括号、tag等。如: “Hello World!” –> ‘Hello World!’/Hello World!
- evil-escape
按kj可以退出 mode - evil-machit
按%跳转到对应括号,标签处
org
smex
提升M-x的使用
window-numbering
按M-1,… M-0切换窗口
find-file-in-project
查找文件,配合.dir-locals.el使用比较方便。这个插件依赖linux find命令,需要配置下面几个变量。
.dir-locals.el
((prog-mode
(ffip-project-root-function . (lambda () "d:/home/.emacs.d"))
(ffip-patterns . (*.el))
(ffip-find-executable . "d:/software1/bin/find.exe")
;; (ffip-debug . t)
))
ido
在输入命令时M-x,自动补全。
- ido-ubiquitous
在使用C-h f等使用 - flx-ido
使用fuzzy方式匹配,比左匹配方便
还有个匹配字符颜色标示,也是这个插件,非常不错 - ido-imenu
有个idomenu函数,跳转imenu的函数
ido-project-jump
- 通过global -c产生symbols文件
- 通过ido-completing-read读取补全symbols文件中的字符串
- 通过find-tag跳转到对应的字符串
avy插件
- 双字符跳转非常喜欢 ‘avy-goto-char-2
evil-org插件
- 定义了一系列的快捷键,非常有用
添加appt提醒
在diary.org中,时间格式有设置时分时,会自动添加
(defun wl-org-agenda-to-appt ()
;; Dangerous!!! This might remove entries added by `appt-add' manually.
(org-agenda-to-appt t "TODO"))
(wl-org-agenda-to-appt)
(defadvice org-agenda-redo (after org-agenda-redo-add-appts)
"Pressing `r' on the agenda will also add appointments."
(progn
(let ((config (current-window-configuration)))
(appt-check t)
(set-window-configuration config))
(wl-org-agenda-to-appt)))
(ad-activate 'org-agenda-redo)
安装python-django插件
- 这个插件依赖python.el,需要先安装
- 在工程的.dir-locals.el中需要添加如下设置
- 安装web-mode支持template文件高亮等
参见: emacs下django配置
使用技巧
控制台下开启color
TERM=xterm-256color emacs -nw
rgrep, lgrep的区别
rgrep是搜索目录树,包含子目录, 且自动过滤掉版本控制目录
lgrep是搜索当前目录,不包含子目录