Emacs常用命令汇总
注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shift,在键盘上通常是Shift键,也就是
|
C |
Control |
|
M |
Alt |
|
S |
Shift |
这三个键在Emacs里通常作为组合键的前导按键使用,也就是说,执行一条命令前可能需要按住这个键不放,比如搜索命令是C-s,要执行这个命令首先要按住Ctrl键不放,再按下字母s键;而打开文件命令是C-x C-f,要打开文件就必须按下Ctrl键不放,依次按下x和f(当然也可以按下Ctrl不放再按下x,放开,再按下Ctrl不放再按f);有的命令组合键和非组合键都要用到,比如保存所有文件是C-x s,需要按下Ctrl不放的时候按下x,然后放开所有按键,再按下s;也有两个组合按键一起使用的,比如使用正则表达式进行增量搜索的快捷键是C-S-%,这就要求你同时按下Ctrl和Alt不放开,再按下s。
启动Emacs
在有图形界面的环境下只需要在终端输入Emacs按回车或者找到启动emacs程序的图标打开就可以了。
在没有图形界面的环境或者伪终端下需要使用字符界面的Emacs可以输入emacs -nw,也就是增加一个-nw参数。
|
挂起Emacs |
C-z |
挂起在图形界面下通常是把Emacs窗口最小化的意思,而在字符界面下则是把Emacs挂起到后台后回到终端,比如在GNU/Linux字符终端下按C-z会回到shell,使用jobs命令可以列出你挂起的所有任务,使用fg可以返回以最后一次挂起的任务,fg %num可以选择回到任意一个被挂起的任务。
|
退出Emacs |
C-x C-z |
如果没有未保存的文件,那么这条命令会直接退出Emacs程序,否则它会提示是否保存文件。
文件
|
打开文件 |
C-x C-f |
|
保存文件 |
C-x C-s |
|
保存所有文件 |
C-x s |
|
插入其他文件到当前缓冲区 |
C-x i |
|
在当前缓冲区打开另一个文件 |
C-x C-v |
|
另存为文件 |
C-x C-w |
获取帮助
|
打开快速指南 |
C-h t |
|
获取按键帮助 |
C-h k |
|
获取函数帮助 |
C-h f |
|
打开Emacs帮助手册 |
C-h r |
错误恢复
|
放弃当前命令或终止正在执行的操作 |
C-g |
|
恢复因系统崩溃而丢失的文件 |
M-x recover-file |
|
撤销上一次操作 |
C-x u或C-_ |
|
还原缓冲区的内容 |
M-x revert-buffer |
|
刷新屏幕 |
C-l |
增量搜索
|
正向搜索 |
C-s |
|
反向搜索 |
C-r |
|
使用正则表达式正向搜索 |
C-M-s |
|
使用正则表达式反向搜索 |
C-M-r |
|
选择上一个搜索结果 |
M-p |
|
选择下一个搜索结果 |
M-n |
|
退出搜索并停留在当前搜索到的位置 |
RET |
|
中止当前搜索 |
C-g |
移动
|
移动的单位 |
向后 |
向前 |
|
字符 |
C-b |
C-f |
|
单词 |
M-b |
M-f |
|
行 |
C-p |
C-n |
|
当前行开头或结尾 |
C-a |
C-e |
|
句 |
M-a |
M-e |
|
段 |
M-{ |
M-} |
|
页 |
C-x [ |
C-x ] |
|
表达式 |
C-M-b |
C-M-f |
|
函数 |
C-M-a |
C-M-e |
|
缓冲区开头或结尾 |
M-< |
M-> |
|
垂直滚动屏幕 |
C-v |
M-v |
|
水平滚动屏幕 |
C-x < |
C-x > |
|
滚动当前行到屏幕中央 |
C-u |
C-l |
|
指定行移动 |
M-g M-g |
删除
|
删除的单位 |
向后 |
向前 |
|
字符 |
DEL |
C-d |
|
单词 |
M-DEL |
M-d |
|
行 |
M-0 C-k |
C-k |
|
句 |
C-x DEL |
M-k |
|
表达式 |
M-- C-M-k |
C-M-k |
|
删除当前行 |
C-S-DEL |
|
|
删除区域 |
C-w |
|
|
复制区域到删除环 |
M-w |
|
|
删除到字符 |
M-z char |
|
|
从删除环中拉回内容 |
C-y |
|
|
从删除环中拉回更早期的内容 |
M-y |
注:这里的DEL在你的键盘上可能是Backspace
标记
|
设置标记 |
C-@ |
|
在当前光标位置和标记处跳转 |
C-x C-x |
|
设置单词标记 |
M-@ |
|
标记段 |
M-h |
|
标记页 |
C-x C-p |
|
标记表达式 |
C-M-@ |
|
标记函数 |
C-M-h |
|
标记整个缓冲区 |
C-x h |
查询替换
|
交互替换 |
M-% |
|
使用正则表达式 |
M-x query-replace-regexp |
|
在查询替换模式下: |
|
|
替换当前项并跳转到下一项 |
SPC |
|
替换当前项不跳转 |
, |
|
不替换当前项并跳转到下一项 |
DEL |
|
替换全部剩下的查询结果 |
! |
|
回到上一个匹配结果 |
^ |
|
退出查询替换 |
RET |
|
进入递归编辑(C-M-c退出) |
C-r |
多窗格
首先解释一下,Emacs里一个框(Frame)是值窗口系统中的一个窗口,一个窗格(Window)则是指显示在一个Frame
|
命令描述 |
窗格 |
框 |
|
删除所有其他窗格 |
C-x 1 |
|
|
垂直分割 |
C-x 2 |
C-x 5 2 |
|
删除当前窗格 |
C-x 0 |
C-x 5 0 |
|
水平分割 |
C-x 3 |
|
|
滚动其他窗格 |
C-M-v |
|
|
切换到另一个窗格 |
C-x o |
C-x 5 o |
|
在其他窗格切换缓冲区 |
C-x 4 b |
C-x 5 b |
|
在其他窗格显示缓冲区 |
C-x 4 C-o |
C-x 5 C-o |
|
在其他窗格打开文件 |
C-x 4 f |
C-x 5 f |
|
在其他窗格以只读方式打开文件 |
C-x 4 r |
C-x 5 r |
|
在其他窗格打开目录 |
C-x 4 d |
C-x 5 d |
|
在其他窗格查找标签 |
C-x 4 . |
C-x 5 . |
|
窗格高度增加 |
C-x ^ |
|
|
窗格宽度减少 |
C-x { |
|
|
窗格宽度增加 |
C-x } |
格式化
|
缩进当前行 |
TAB |
|
缩进区域 |
C-M-/ |
|
缩进表达式 |
C-M-q |
|
增加缩进 |
C-x TAB |
|
在当前位置后增加新行 |
C-o |
|
当前位置到行尾的内容下移 |
C-M-o |
|
删除当前位置附近的空行 |
C-x C-o |
|
将当前行连接到上一行 |
M-^ |
|
删除光标附近的空白 |
M-/ |
大小写转换
|
单词转换为大写 |
M-u |
|
单词转换为小写 |
M-l |
|
单词转换为首字母大写 |
M-c |
|
区域转换为大写 |
C-x C-u |
|
区域转换为小写 |
C-x C-l |
微型缓冲区
|
尽可能多地补全 |
TAB |
|
补全至多一个单词 |
SPC |
|
补全并执行 |
RET |
|
显示可能的补全项 |
? |
|
切换到上一个输入 |
M-p |
|
切换到下一个输入 |
M-p |
|
用正则表达式往后搜索历史记录 |
M-r |
|
用正则表达式往前搜索历史记录 |
M-s |
|
终止命令 |
C-g |
缓冲区
|
选择另一个缓冲区 |
C-x b |
|
列出所有缓冲区 |
C-x C-b |
|
关闭一个缓冲区 |
C-x k |
缓冲区
|
交换字符 |
C-t |
|
交换单词 |
M-t |
|
交换行 |
C-x C-t |
|
交换表达式 |
C-M-t |
交换
|
交换字符 |
C-t |
|
交换单词 |
M-t |
|
交换行 |
C-x C-t |
|
交换表达式 |
C-M-t |
拼写检查
|
见车当前单词拼写 |
M-$ |
|
检查区域内所有单词 |
M-x ispell-region |
|
检查整个缓冲区 |
M-x ispell-buffer |
标签
|
查找标签 |
M-. |
|
查找下一个标签 |
C-u M-. |
|
指定一个新标签 |
M-x visit-tags-table |
|
在标签表内的所有文件用正则表达式搜索 |
M-x tags-search |
|
在所有文件内运行查询替换 |
M-x tags-query-replace |
|
继续最后一个标签搜索或查询替换 |
M-, |
Shells
|
执行一个外部命令 |
M-! |
|
在当前区域运行一shell命令 |
M-| |
|
使用一个外部命令处理当前区域 |
C-u M-| |
|
启动一个shell |
M-x shell |
矩形区域
|
复制矩形区域到寄存器 |
C-x r r |
|
删除矩形区域 |
C-x r k |
|
拉回矩形区域内容 |
C-x r y |
|
插入一个矩形区域 |
C-x r o |
|
清空矩形区域 |
C-x r c |
|
矩形区域内每行内容替换为字符串 |
C-x r t |
缩写
|
增加全局缩写 |
C-x a g |
|
增加模式缩写 |
C-x a l |
|
给这个缩写增加全局扩展 |
C-x a i g |
|
给这个缩写增加模式扩展 |
C-x a i l |
|
扩展缩写 |
C-x a e |
|
动态扩展上一个单词 |
M-/ |
正则表达式
|
匹配换行符之外的任何字符 |
. |
|
|
任意次重复 |
* |
|
|
一次或一次以上重复 |
+ |
|
|
一次或一次也没有 |
? |
|
|
转义字符 |
/c |
|
|
分支 |
/| |
|
|
分组 |
/(.../) |
|
|
第n组 |
/n |
|
|
单词开始或结束 |
/b |
|
|
非单词开始或结束 |
/B |
|
|
单位 |
开始 |
结束 |
|
行 |
^ |
$ |
|
词 |
/< |
/> |
|
缓冲区 |
/' |
/' |
|
字符类别 |
匹配 |
不匹配 |
|
字符集合 |
[ ... ] |
[^ ... ] |
|
单词 |
/w |
/W |
国际化字符集
|
指定语言 |
M-x set-language-environment |
|
显示所有输入法 |
M-x list-input-methods |
|
开启或禁用输入法 |
C-/ |
|
设置命令编码系统 |
C-x RET c |
|
显示所有编码系统 |
M-x list-coding-systems |
|
选择编码系统 |
M-x prefer-coding-system |
信息
|
进入信息文档阅读器 |
C-h i |
|
在信息文档中查找指定的函数或变量 |
C-h C-i |
|
在节点中移动 |
|
|
往前滚动 |
SPC |
|
反向滚动 |
DEL |
|
节点开始处 |
. |
|
节点间移动 |
|
|
下一个节点 |
n |
|
上一个节点 |
p |
|
上一层 |
u |
|
通过名字选择菜单项 |
m |
|
选择第n个菜单项 |
n |
|
填转到节点 |
f |
|
返回上一次所在的节点 |
l |
|
返回到目录节点 |
d |
|
通过名字跳转到任意节点 |
g |
|
其他: |
|
|
进入快速指南 |
h |
|
退出信息文档 |
q |
|
用正则表达式搜索节点 |
M-s |
寄存器
|
保存区域到寄存器 |
C-x r s |
|
插入寄存器内容到缓冲区 |
C-x r i |
|
保存当前位置到寄存器 |
C-x r SPC |
|
跳转到保存在寄存器中的位置 |
C-x r j |
键盘宏
|
开始记录键盘宏 |
C-x ( |
|
结束记录键盘宏 |
C-x ) |
|
执行最后一个宏 |
C-x e |
|
追加内容到最后一个键盘宏 |
C-u C-x |
|
给最后一个键盘宏命名 |
M-x name-last-kbd-macro |
|
插入键盘宏的Lisp定义到当前缓冲区 |
M-x insert-kbd-macro |
Emacs常用命令汇总的更多相关文章
- Emacs常用命令快速参考
原文地址 Emacs常用命令的汇总,来自Emacs参考卡片 注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shif ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- 【Linux】Linux 常用命令汇总
查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...
- Docker笔记:常用命令汇总
Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...
- [svc][op]vim常用命令汇总
vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...
- 【Ubuntu】常用命令汇总,整理ing
Ubuntu 常用命令(在此页面中Ctrl+F即可快速查找) 在Ubuntu系统使用过程中,会不断地接触到命令行操作,下面对一些常用的命令进行汇总,方便查找. 1.文件操作 1.1 文件复制拷贝 cp ...
- Linux常用命令汇总及使用方法(二)之文本编辑器VI
VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...
随机推荐
- RGB和HSB的转换推算
RGB三原色是基于人肉眼对光线的生理作用.人眼内有三种椎状体“对这三种光线频率所能感受的带宽最大,也能独立刺激这三种颜色的受光体”,因此RGB称为三原色.比如,黄色波长的光对人眼的刺激效果,和红色与绿 ...
- SNF开发平台WinForm之九-代码生成器使用说明-SNF快速开发平台3.3-Spring.Net.Framework
下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 ...
- JavaScript 变量生命周期
变量在它声明时初始化. 局部变量在函数调用时创建,当函数执行完毕后销毁,这和为什么要使用闭包也有一点关系,当然这是另外的话题了. 全局变量在页面(当前页面)关闭后销毁.
- java--实现将文字生成二维码图片,并在中间附上logo,下方附上文字
前段时间因为工作需要,要实现将一段文字或者url生成二维码,然后中间附上logo,下方正中间附上文字的功能. 上网找了几篇教程学习了下,由于没有保存借鉴的博文链接,所以就没po上参考文章的链接啦,感谢 ...
- 数据可视化(5)--jqplot经典实例
本来想把实例也写到上篇博客里,最后发现太长了,拆成两篇博客了. 实例来源于官方文档:http://www.jqplot.com/tests/ 这篇博客主要是翻译了官方文档关于经典实例的解说,并在相应代 ...
- 2016 SDCC会后总结
很荣幸作为前端专题讲师参加2016年SDCC,与周爱民老师同台,听业界牛人的分享真是受益匪浅.对我来说是第一次在如此规模的专题论坛上演讲,全程紧张的要命,提前准备好的内容有很多因为紧张没有讲出来.此次 ...
- 一种感觉不太好的设置radioButton的方法
从后台传到前台,让前台的Radiobutton被选中. jquery代码: if(b_type == '') { return false; } else if($('input[name = &qu ...
- 线段树 + 矩阵 --- ZOJ 3772 Calculate the Function
Calculate the Function Problem's Link: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCod ...
- 【iOS】单例模式
单例模式在软件开发中经常用到,在iOS系统framework也很多地方用到单例模式,例如 [NSUserDefaults standardUserDefaults], [NSBundle mainBu ...
- asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法
MVC中表单form是怎样提交? 控制器Controller是怎样接收的? 1..cshtml 页面form提交 (1)普通方式的的提交