首页 > 代码库 > Emacs常用命令
Emacs常用命令
1.离开Emacs
挂起Emacs | C-z |
退出Emacs | C-x C-c |
2.文件
打开文件 | C-x C-f |
保存文件 | C-x C-s |
保存所有的文件 | C-x s |
将一个文件的内容插入到当前buffer | C-x i |
将当前文件替换为你需要的文件内容 | C-x C-v |
将当前buffer内容写到你要存的文件 | C-x C-w |
将当前buffer设为只读模式 | C-x C-q |
3.获取帮助
打开Emacs tutorial | C-h t |
切换到当前Window | C-x 1 |
搜索包含某个字符串的帮助文档 | C-h a |
搜索某组快捷键的帮助文档 | C-h k |
搜索某个函数的帮助文档 | C-h f |
获取当前的mode信息 | C-h m |
查询所有以C-x开头的快捷键 | C-x C-h |
提示输入一个组合键,显示这个组合键绑定了什么命令 | C-h c |
浏览Info信息 | C-h i |
最近输入的300个组合按键 | C-h l |
查看绑定热键 | C-h b |
4.错误恢复
终止当前命令输入 | C-g |
恢复系统崩溃时丢失的文件 | M-x recover-session |
undo操作 | C-x u,C-_,C-/ |
恢复buffer到最初的内容 | M-x revert-buffer |
清屏 | C-l |
5.增量搜索
前向搜索 | C-s |
后向搜索 | C-r |
查找状态切换大小写敏感 | M-c |
查找状态自动匹配 | M-Tab |
查找状态进入查找帮助 | C-h C-h |
查找状态将光标处直到行尾内容剪切到查找区域 | C-w |
查找状态将光标处直到行尾内容复制到查找区域 | C-y |
查找状态把kill 环中最后一项复制到查找区域 | M-y |
查找状态删除查找区域最后一个字符 | C-M-w |
查找状态将光标处字符复制到查找区域最后 | C-M-y |
向前进行简单查找 | C-s Ret |
向后进行简单查找 | C-r Ret |
向前进行词组查找 | M-s w |
向前进行词组查找(非增量方式) | M-s w Ret |
向后进行词组查找(非增量方式) | M-s w C-r Ret |
向前进行正则查找 | C-M-s |
向后进行正则查找 | C-M-r |
全文替换 | M-x replace-string |
全文正则替换 | M-x replace-regexp |
查找替换 | M-x query-replace |
进入递归编辑 | M-x recursive-edit |
退出递归编辑 | M-x abort-recursive-edit |
退出递归编辑 | M-x top-level |
6.移动
以字符为单位移动 | C-f, C-b |
以单词为单位移动 | M-f, M-b |
移动到行首,行末 | C-a, C-e |
移动到第一个非空格字符 | M-m |
移动到句子头,句子尾 | M-a, M-e |
移动到段落头,段落尾 | M-{, M-} |
翻页 | C-v, M-v |
到文件头和文件尾 | M-<, M-> |
到文件的第 N 字节 | M-x goto-char |
到文件第 N 行 | M-x goto-line,M-g g |
设定 goal-column | C-x C-n |
取消 goal-column | C-u C-x C-n |
跳到函数首 | C-M-a |
跳到函数尾 | C-M-e |
跳到下一个同级语法结构 | C-M-f |
跳到上一个同级语法结构 | C-M-b |
7.删除
以字符为单位删除 | DEL, C-d |
以单词为单位删除 | M-DEL, M-d |
以行为单位删除 | M-0 C-k,C-k |
以段落为单位删除 | C-x DEL,M-k |
剪切 | C-w |
复制 | M-w |
粘贴 | C-y |
用上一次的剪切内容来粘贴 | M-y |
8.标记
从光标处设置标记 | C-@,C-SPC |
交换光标位置并标记 | C-x C-x |
标记单词 | M-@ |
标记段落 | M-h |
标记页 | C-x C-p |
标记sexp区块 | C-M-@ |
标记函数 | C-M-h |
标记整个buffer | C-x h |
9.替换
字符串替换 | M-% |
正则表达式替换 | C-M-% |
替换模式下一个一个替换 | SPC,y |
替换模式下只替换一个 | , |
替换模式下不替换当前的直接跳到下一个 | DEL,n |
替换模式下替换所有 | ! |
退出替换模式 | RET |
10.多Window
关闭其他Window(frame),只显示光标所在Window | C-x 1, C-x 5 1 |
水平分割Window | C-x 2 |
垂直分割Window | C-x 3 |
打开新的frame | C-x 5 2 |
关闭当前Window(frame) | C-x 0,C-x 5 0 |
滚动其他Window | C-M-v |
切换到其他WIndow(frame) | C-x o,C-x 5 o |
切换到其他buffer | C-x 4 b |
在其他Window中显示buffer | C-x 4 C-o |
在其他Window中打开文件 | C-x 4 f |
在其他WIndow中打开只读文件 | C-x 4 r |
在其他Window中打开目录 | C-x 4 d |
在其他WIndow中寻找tag | C-x 4 . |
向下拉伸Window | C-x ^ |
向左缩小Window | C-x { |
向右拉大Window | C-x } |
11.格式化
缩进(依赖mode) | TAB |
区域缩进(依赖mode) | C-M-\ |
sexp缩进(依赖mode) | C-M-q |
添加注释 | M-; |
在光标之后添加新行 | C-o |
删除空白函 | C-x C-o |
删除光标周围所有的空白 | M-\ |
设置外观 | M-o |
12.大小写
单词大写 | M-u |
单词小写 | M-l |
首字母大写 | M-c |
区域大写 | C-x C-u |
区域小写 | C-x C-l |
13.MiniBUffer
补全 | TAB |
补全单词 | SPC |
执行 | RET |
显示可能的执行 | ? |
上一次minibuffer的输入 | M-p |
后一次minibuffer的输入 | M-n |
在minibuffer中向后搜索 | M-r |
在minibuffer中向前搜索 | M-s |
结束在minibuffer中的输入 | C-g |
14.Buffer
选择buffer | C-x b |
列出所有的buffer | C-x C-b |
关闭当前buffer | C-x k |
15.置换
置换字符 | C-t |
置换单词 | M-t |
置换行 | C-x C-t |
置换sexps区域 | C-M-t |
16.拼写检查
当前单词拼写检查 | M-$ |
区域中的单词检查 | M-x ispell-region |
buffer中的单词检查 | M-x ispell-buffer |
17.Tag
查找一个tag | M-. |
查找下一个tag | C-u M-. |
指定一个tag文件 | M-x visit-tags-table |
递归搜索整个tag文件 | M-x tags-search |
tag查找替换 | M-x tags-query-replace |
继续最后一次tag查找或替换 | M-, |
18.Shells
执行一个shell命令 | M-! |
在当前区域中执行shell命令 | M-| |
开启一个shell窗口 | M-x shell |
19.矩形区域
复制一个矩形区域到寄存器 | C-x r r |
删除一个矩形区域 | C-x r k |
粘贴一个区域 | C-x r y |
插入一个矩形块,字符右移 | C-x r o |
清除一个矩形块,使其成为空白字符 | C-x r c |
在选中的矩形块中插入指定的字符 | C-x r t |
20.缩写
添加全局缩写 | C-x a g |
添加某个mode的缩写 | C-x a l |
动态扩展上一个单词 | M-/ |
21.正则表达式
代替任何字符除换行符 | . |
替换0个或多个字符 | * |
替换1个或多个字符 | + |
替换0个或1个字符 | ? |
正则表达式字符c | \c |
或 | \| |
分组 | \(\) |
行首 | ^ |
行尾 | $ |
单词首 | \< |
单词尾 | \> |
buffer首 | \‘ |
buffer尾 | \‘ |
包含的字符组 | [...] |
不包含的字符组 | [^...] |
22.字符编码
设置语言环境 | C-x RET l |
显示输入法 | M-x list-input-methods |
开启关闭输入法 | C-\ |
设置编码环境 | C-x RET c |
显示编码系统 | M-x list-coding-systems |
选择喜欢的编码系统 | M-x prefer-coding-systems |
23.Info
进入Info文档 | C-h i |
在Info文档中搜索特定的函数和变量 | C-h S |
24.寄存器
将当前区域保存到寄存器中 | C-x r s |
将寄存器内容插入到buffer中 | C-x r i |
保存当前点到寄存器中 | C-x r SPC |
跳转到某个寄存器 | C-x r j |
25.按键宏
开始定义按键宏 | C-x ( |
结束按键宏定义 | C-x ) |
执行最后定义的按键宏 | C-x e |
添加到最后的按键宏 | C-u C-x ( |
命名最后一个按键宏 | M-x name-last-kbd-macro |
在buffer中插入lisp定义 | M-x insert-kbd-macro |
26.用Elisp处理命令
在当前点执行lisp语句 | C-x C-e |
执行当前函数 | C-M-x |
执行当前区域 | M-x eval-region |
从minibuffer读取命令并且执行 | M-: |
载入标准系统库 | M-x load-library |
27.简单的配置
打开配置页面 | M-x customise |
设置键绑定 | (global-set-key (kbd "C-c g") ‘search-forward) |
28.编写命令
命令编写模板 | (defun command-name (args) "documention" (interactive "template") body)
|
Emacs常用命令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。