Emacs 常用指令
原文地址:http://hi.baidu.com/jiyeqian/blog/item/4ff92b54b52e1c5dd0090625.html
不重动 Emacs 让 .emacs 配置文件生效
有四个函数可以做到:eval-last-sexp,eval-region,eval-buffer 和load-file
M-x eval-last-sexp 使.emacs中光标前的那一条语句立刻生效。
M-x eval-region 使.emacs中选中的region中的语句立刻生效。
M-x eval-buffer 使当前的buffer中的设置语句立刻生效。
M-x load-file ~/.emacs 载入.emacs文件,从而使其中的设置生。
在线帮助(Online-Help)
C-h c 显示快捷键绑定的命令
C-h k 显示快捷键绑定的命令和它的作用
C-h l 显示最后100个键入的内容
C-h w 显示命令被绑定到哪些快捷键上
C-h f 显示函数的功能
C-h v 显示变量的含义和值 或者 M-x describe-variable
C-h b 显示当前缓冲区所有可用的快捷键
C-h t 打开emacs教程
C-h i 打开info阅读器
C-h p 显示本机Elisp包的信息
C-h C-f 显示emacs FAQ
C-h a 查找与之匹配的命令
打开与关闭
打开文件:C-x C-f
退出Emacs:C-x C-c
用另一文件替换当前打开的文件:C-x C-v
显示可打开的buffer:C-鼠标左键 或者 C-x C-b
打开另一个buffer:C-x b
关闭一个buffer:C-x k
重要快捷键(Important)
C-g 停止当前运行/输入的命令
C-x u 撤销前一个命令
C-x C-q 当前buffer设为只读
M-x revert-buffer RET (照着这个输入)撤销上次存盘后所有改动
M-x recover-file RET 从自动存盘文件恢复
M-x recover-session RET 如果你编辑了几个文件,用这个恢复
光标移动
跳到指定行:M-g g(M-x goto-line)
到的第N字节:M-x goto-char
前一屏:M-v 后一屏C-v
行首:C-a 行尾:C-e
上一行:C-p 下一行:C-n
上一词:M-b 下一词:M-f
上一字:C-b 下一字:C-f
上一句:M-a 下一句:M-e
上一段:M-{ 下一段:M-}
大小写转换
大写:M-u(词) C-x C-u(区域)
小写:M-l(词) C-x C-l(区域)
首字母大写:M-c
查找与替换
查找:C-s(向前) C-r(向后)
C-g 回到搜索开始前的位置(如果你仍然在搜索模式中)
使用正则表达式向后搜索 :C-M-s RET
使用正则表达式向前搜索 :C-M-r RET
替换:M-%
使用正则表达式搜索并替换:M-x query-replace-regexp
替换模式中的操作
替换当前匹配 :Space 或 y
不要替换当前匹配:Del或n
仅仅替换当前匹配并退出(替换) :.
替换并暂停(按Space或y继续) :,
替换以下所有匹配 :!
回到上一个匹配位置 :^
退出替换:RETURN 或 q
可在正则表达式中使用的符号
^ 行首
$ 行尾
. 单个字符
.* 任意多个(包括没有)字符
\< 单词开头
\> 单词结尾
[] 括号中的任意一个字符(例如[a-z]表示所有的小写字母)
选择
区域选择:C-@
段落选择:M-h
全选:C-x h
删除
删除光标处所有空格:M-\
光标处产生唯一空格:M-SPC
删除光标处所有空行:C-x C-o
删除一个字母:DEL(向后),C-d(向前)
删除一个单词:M-DEL(向后),M-d(向前)
删除一行:M-0 C-k(向后),C-k(向前)
删除一个句子:C-x DEL(向后),M-k(向前)
kill region: C-w
复制区域到kill ring: M-w
kill through next occurrence of char: M-z char
yank back last thing killed: C-y
replace last yank with previous kill: M-y
窗口操作
C-x o 切换至其他窗格
C-x 0 关闭窗格
C-x 2 水平分割窗格
C-x 3 垂直分割窗格
C-x 1 关闭除了光标所在窗格外所有窗格
C-x ^ 扩大窗格
M-x shrink-window 缩小窗格
C-M-v 滚动其他窗格内容
C-x 4 f 在其他窗格中打开文件
C-x 4 0 关闭当前缓冲区和窗格
C-x 5 2 新建窗口(frame)
C-x 5 1 删除其它所有窗口
C-x 5 f 在新窗口中打开文件
输入特殊字符
C-x 8 R 输入 ®
C-x 8 o 输入 °
C-x 8 C-h 可以得到一份完整的列表
拼写检查
一、使用flyspell进行“在线”拼写检测
1.启用flyspell-mode。Tools-Spell Checking-Automatic spell checking(Flyspell)或者M-x flyspell-mode。在进行输入的时候可以及时对拼写错误进行提醒。
2.提示如何修改:C-c $
二、使用ispell进行“离线”拼写检测
1.基本命令:M-x ispell-region M-x ispell-buffer
2.数字键进行拼写更改,空格键在不更改的情况下直接跳到下一个拼写错误处。
3.退出检测:C-g
4.检测某个单词的拼写:M-$
DontZap
其它
设置变量的值:M-x set-variable <RET> VAR <RET> VALUE <RET>
用另一种编码打开重新打开当前文档:M-x revert-buffer-with-coding-system
显示行号:M-x setnu-mode
C-u + 数字 + 操作 重复执行”数字“次”操作“
段落(行)居中对齐:M-S
简单的凯撒位移加密解密方法:M-x rot13-region
打开shell:M-x eshell 或者 M-x shell
启动Octave:M-x run-octave
删除选中区域的所有空行: M-x flush-lines ^$
使用 Emacs daemon: http://tigersoldier.is-programmer.com/2010/2/5/tips-on-emacs-daemon.15404.html
插入当前日期和时间:C-u M-! date
参考:
http://grid.tsinghua.edu.cn/home/liulk/publish/emacs/EmacsFaq.html
http://blog.ipattern.org/archives/296
http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=146721
http://pluskid.lifegoo.com/wiki/EmacsTip.html
完