成为 Emacs高手 像神一样使用编辑器
进入
进入不弹出窗口: emacs -nw aa.txt
退出
退出emacs : C-x C-c
挂起退出:C-z
文件
打开文件: 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
获取帮助
系统帮助:C-h t
移除帮助窗口:C-x 1
滚动帮助窗口:C-M-v
错误恢复
中断部分类型或者退出命令:C-g
恢复由于系统崩溃丢失的文件:M-x recover-session
撤销:C-x u, C-_ or C-/
恢复buffer内容:M-x revert-buffer
增强搜索
向前搜索:C-s
向后搜索:C-r
正则搜索:C-M-s
反正则搜索:C-M-r
选择上一个搜索内容:M-p
选择下一个搜索内容:M-n
退出搜索:RET
撤销上一个字符:DEL
中断当前搜索:C-g
跳到下一个再按一次C-s 或者C-r
移动
| 移动实体 |
后 |
前 |
| 字符 |
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 |
| buffer |
M-< |
M-> |
滚到下一屏幕:C-v
滚到上一屏幕:M-v
滚到左边:C-x <
滚到右边:C-x >
跳到行:M-g g
跳到字符:M-g c
删除(Killing and Deleting)
| 移动实体 |
向后 |
向前 |
| 字符 |
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-w
复制区域: M-w
粘贴内容到当前光标位置: C-y
切换剪贴板内容: M-y
替换
替换前询问,y替换,n不替换: M-%
正则替换 : M-x replace-string RET string RET newString RET
多窗口
水平开一个窗口: C-x 2
垂直开一个窗口: C-x 3
在窗口间切换当前窗口:C-x o
关闭当前窗口以外的其他窗口:C-x 1
关闭当前窗口:C-x 0
矩形区域
剪切这个矩形区域: C-x r k
复制选定的矩形区域: C-x r M-w
删除选定的矩形区域: C-x r d
将剪切的矩形区域粘贴到选定的矩形区域 :C-x r y
在当前选定区域前插入选定区域大小全是空格的区域: C-x r o
在当前选定区域前插入行号,行号从1开始: C-x r N
将当前选定区域替换成空格区域:C-x r c
将区域中的每一行替换成string:C-x r t string RET
在矩形区域的每一行前插入string :M-x string-insert-rectangle RET string RET
参考
emacs refcard
emacs-in-one-year-guide
进入
进入不弹出窗口: emacs -nw aa.txt
退出
退出emacs : C-x C-c
挂起退出:C-z
文件
打开文件: 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
获取帮助
系统帮助:C-h t
移除帮助窗口:C-x 1
滚动帮助窗口:C-M-v
错误恢复
中断部分类型或者退出命令:C-g
恢复由于系统崩溃丢失的文件:M-x recover-session
撤销:C-x u, C-_ or C-/
恢复buffer内容:M-x revert-buffer
增强搜索
向前搜索:C-s
向后搜索:C-r
正则搜索:C-M-s
反正则搜索:C-M-r
选择上一个搜索内容:M-p
选择下一个搜索内容:M-n
退出搜索:RET
撤销上一个字符:DEL
中断当前搜索:C-g
跳到下一个再按一次C-s 或者C-r
移动
滚到下一屏幕:C-v
滚到上一屏幕:M-v
滚到左边:C-x <
滚到右边:C-x >
跳到行:M-g g
跳到字符:M-g c
删除(Killing and Deleting)
删除一个区域: C-w
复制区域: M-w
粘贴内容到当前光标位置: C-y
切换剪贴板内容: M-y
替换
替换前询问,y替换,n不替换: M-%
正则替换 : M-x replace-string RET string RET newString RET
多窗口
水平开一个窗口: C-x 2
垂直开一个窗口: C-x 3
在窗口间切换当前窗口:C-x o
关闭当前窗口以外的其他窗口:C-x 1
关闭当前窗口:C-x 0
矩形区域
剪切这个矩形区域: C-x r k
复制选定的矩形区域: C-x r M-w
删除选定的矩形区域: C-x r d
将剪切的矩形区域粘贴到选定的矩形区域 :C-x r y
在当前选定区域前插入选定区域大小全是空格的区域: C-x r o
在当前选定区域前插入行号,行号从1开始: C-x r N
将当前选定区域替换成空格区域:C-x r c
将区域中的每一行替换成string:C-x r t string RET
在矩形区域的每一行前插入string :M-x string-insert-rectangle RET string RET
参考
emacs refcard
emacs-in-one-year-guide