Emacs常用命令
| 挂起Emacs |
C-z
|
| 退出Emacs |
C-x C-c
|
|
打开文件
|
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
|
|
打开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
|
|
终止当前命令输入
|
C-g
|
|
恢复系统崩溃时丢失的文件
|
M-x recover-session
|
|
undo操作
|
C-x u,C-_,C-/
|
|
恢复buffer到最初的内容
|
M-x revert-buffer
|
| 清屏 |
C-l
|
|
前向搜索
|
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
|
|
以字符为单位移动
|
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
|
|
以字符为单位删除
|
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
|
|
从光标处设置标记
|
C-@,C-SPC
|
| 交换光标位置并标记 |
C-x C-x
|
| 标记单词 |
M-@
|
|
标记段落
|
M-h
|
|
标记页
|
C-x C-p |
|
标记sexp区块
|
C-M-@
|
|
标记函数
|
C-M-h
|
|
标记整个buffer
|
C-x h
|
|
字符串替换
|
M-%
|
| 正则表达式替换 |
C-M-%
|
| 替换模式下一个一个替换 |
SPC,y
|
|
替换模式下只替换一个
|
, |
|
替换模式下不替换当前的直接跳到下一个
|
DEL,n
|
|
替换模式下替换所有
|
!
|
|
退出替换模式
|
RET
|
| 关闭其他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 }
|
| 缩进(依赖mode) |
TAB
|
|
区域缩进(依赖mode)
|
C-M-\
|
|
sexp缩进(依赖mode)
|
C-M-q
|
|
添加注释
|
M-;
|
|
在光标之后添加新行
|
C-o
|
|
删除空白函
|
C-x C-o
|
|
删除光标周围所有的空白
|
M-\
|
|
设置外观
|
M-o
|
| 单词大写 |
M-u
|
|
单词小写
|
M-l
|
|
首字母大写
|
M-c
|
|
区域大写
|
C-x C-u
|
|
区域小写
|
C-x C-l
|
| 补全 |
TAB
|
|
补全单词
|
SPC
|
|
执行
|
RET
|
|
显示可能的执行
|
?
|
|
上一次minibuffer的输入
|
M-p
|
|
后一次minibuffer的输入
|
M-n
|
|
在minibuffer中向后搜索
|
M-r
|
|
在minibuffer中向前搜索
|
M-s
|
|
结束在minibuffer中的输入
|
C-g
|
|
选择buffer
|
C-x b
|
|
列出所有的buffer
|
C-x C-b
|
|
关闭当前buffer
|
C-x k
|
|
置换字符
|
C-t
|
|
置换单词
|
M-t
|
|
置换行
|
C-x C-t
|
|
置换sexps区域
|
C-M-t
|
|
当前单词拼写检查
|
M-$
|
|
区域中的单词检查
|
M-x ispell-region
|
|
buffer中的单词检查
|
M-x ispell-buffer
|
|
查找一个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-,
|
|
执行一个shell命令
|
M-!
|
|
在当前区域中执行shell命令
|
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
|
|
添加某个mode的缩写
|
C-x a l
|
|
动态扩展上一个单词
|
M-/
|
|
代替任何字符除换行符
|
.
|
|
替换0个或多个字符
|
*
|
|
替换1个或多个字符
|
+
|
|
替换0个或1个字符
|
?
|
|
正则表达式字符c
|
\c
|
|
或
|
\|
|
|
分组
|
\(\)
|
|
行首
|
^
|
|
行尾
|
$
|
|
单词首
|
\<
|
|
单词尾
|
\>
|
|
buffer首
|
\'
|
|
buffer尾
|
\' |
|
包含的字符组
|
[...]
|
|
不包含的字符组
|
[^...]
|
|
设置语言环境
|
C-x RET l
|
|
显示输入法
|
M-x list-input-methods
|
|
开启关闭输入法
|
C-\
|
|
设置编码环境
|
C-x RET c
|
|
显示编码系统
|
M-x list-coding-systems
|
|
选择喜欢的编码系统
|
M-x prefer-coding-systems
|
| 进入Info文档 |
C-h i
|
|
在Info文档中搜索特定的函数和变量
|
C-h S
|
|
将当前区域保存到寄存器中
|
C-x r s
|
|
将寄存器内容插入到buffer中
|
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
|
|
在buffer中插入lisp定义
|
M-x insert-kbd-macro
|
|
在当前点执行lisp语句
|
C-x C-e
|
|
执行当前函数
|
C-M-x
|
|
执行当前区域
|
M-x eval-region
|
|
从minibuffer读取命令并且执行
|
M-:
|
|
载入标准系统库
|
M-x load-library
|
|
打开配置页面
|
M-x customise
|
|
设置键绑定
|
(global-set-key (kbd "C-c g") 'search-forward)
|
| 命令编写模板 |
(defun command-name (args)
"documention" (interactive "template")
body)
|
Emacs常用命令的更多相关文章
- Emacs常用命令快速参考
原文地址 Emacs常用命令的汇总,来自Emacs参考卡片 注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shif ...
- emacs 常用命令
C stands for Ctrl and M stands for Alt REFERENCE FORM EMACS TUTORIAL 表述不一定正确,仅供参考,主要是要多实践,一开始可能会不习惯 ...
- Emacs常用命令汇总
注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shift,在键盘上通常是Shift键,也就是 C Control ...
- Git 基本概念及常用命令
一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...
- DOS 和 Linux 常用命令的对比
DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...
- 实用手册:130+ 提高开发效率的 vim 常用命令
Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...
- 用xshell操作linux系统的常用命令
(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以. ...
- linux 常用命令 集锦
第一章 LINUX简介及安装 1一.LINUX介绍 1二.LINUX安装 2三.LINUX目录 2四.总结来说: 3第二章 常用命令及帐户管理 4一.linux命 ...
- Git配置和一些常用命令
Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...
随机推荐
- JAVA 多态和异常处理作业——动手动脑以及课后实验性问题
1. 阅读以下代码(CatchWho.java),写出程序运行结果: 1) 源代码 public class CatchWho { public static void main(String[] ...
- 为大家分享一个 Ajax Loading —— spin.js(转)
原文地址:http://www.cnblogs.com/lxblog/p/3425599.html 我们在做Ajax 异步请求的时候,一般都会利用一个动态的 Gif 小图片来制作一个Ajax Load ...
- SpringMvc之handler深入AbstractControllerhe和MultiActionController和内部资源视图解析器
AbstractControllerhe 若处理器继承自AbstractController类,那么该控制器就具有了一些新功能.因为AbstractController类还继承自一个父类WebCont ...
- 聚类算法:ISODATA算法
1. 与K-均值算法的比较 –K-均值算法通常适合于分类数目已知的聚类,而ISODATA算法则更加灵活: –从算法角度看, ISODATA算法与K-均值算法相似,聚类中心都是通过样本均值的迭代运算来决 ...
- uva 10118
10118 - Free Candies Time limit: 30.000 seconds Little Bob is playing a game. He wants to win some c ...
- jQuery插件之ajaxFileUpload 2
ajaxFileUpload.js 很多同名的,因为做出来一个很容易. 我用的是这个:https://github.com/carlcarl/AjaxFileUpload 下载地址在这里:http ...
- oracle常见权限分配
1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个: ALL ON 数据对象名 ...
- Java如何将控制台上的结果保存到文件
无论是二进制数据还是字符数据(文本数据),都可以用文件输出流java.io.FileOutputStream,以字节流的方式保存到指定文件. package test; import java.io. ...
- ruby学习网站
Ruby官方中文网(推荐): https://www.ruby-lang.org/zh_cn/ 国内非常不错的Ruby学习教程网站(推荐): http://www.yiibai.com/ruby Ru ...
- 通过电脑(计算机)下载google play的应用的方法
手机上安装GOOGLE PLAY很麻烦,经常不成功.于是采用电脑下载APK的方法. 网上传说的下载chrome的插件,然后获取DEVICE ID的方法,经过试用,一直无法获得DEVICE ID. 经过 ...