Emacs_快捷键列表

emacs -nw 以终端模式运行emacs
LC_CTYPE=zh_CN.UTF-8 emacs

C = Control

M = Meta = Alt | Esc
Alt 可以粘滞 Esc 不能粘滞

S = Shift

注意:
以上命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shift,在键盘上通常是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。

Del = Backspace 删除前一个字符
C-d = delete 删除(delete)后一个字符

启动Emacs
在有图形界面的环境下只需要在终端输入Emacs按回车或者找到启动emacs程序的图标打开就可以了。
在没有图形界面的环境或者伪终端下需要使用字符界面的Emacs可以输入emacs -nw(以终端模式运行)。

C-z 挂起Emacs
挂起在图形界面下通常是把Emacs窗口最小化的意思,而在字符界面下则是把Emacs挂起到后台后回到终端,比如在GNU/Linux字符终端下按C-z会回到shell,使用jobs命令可以列出你挂起的所有任务,使用fg可以返回以最后一次挂起的任务,fg %num可以选择回到任意一个被挂起的任务。
恢复任务 fg [job number](将后台程序放到前台)或者 bg [job number](将前台程序放到后台)

C-x C-z 退出Emacs
如果没有未保存的文件,那么这条命令会直接退出Emacs程序,否则它会提示是否保存文件。

基本快捷键(Basic )

C-x C-f "find"文件, 即在缓冲区打开/新建一个文件
C-x C-s 保存文件
C-x C-w 使用其他文件名另存为文件
C-x C-v 关闭当前缓冲区文件并打开新文件
C-x i 在当前光标处插入文件
C-x b 新建/切换缓冲区
C-x C-b 显示缓冲区列表
C-x k 关闭当前缓冲区
C-z 挂起emacs
C-x C-c 关闭emacs

光标移动基本快捷键(Ba sic Movemen t)

C-f 后一个字符
C-b 前一个字符
C-p 上一行
C-n 下一行
M-f 后一个单词
M-b 前一个单词
C-a 行首
C-e 行尾
C-v 向下翻一页
M-v 向上翻一页
M-< 到文件开头
M-> 到文件末尾
C-l 重新绘制屏幕画面,当前行放在画面中心处

编辑(Editint )

M-n 重复执行后一个命令n 次
C-u 重复执行后一个命令4 次
C-u n 重复执行后一个命令n 次
C-d 删除(delete)后一个字符
M-d 删除后一个单词
Del 删除前一个字符
M-Del 删除前一个单词
C-k 移除(kill)一行
C-Space 设置开始标记(例如标记区域)
C-@ 功能同上, 用于C-Space 被操作系统拦截的情况
C-w 移除(kill)标记区域的内容
M-w 复制标记区域的内容
C-y 召回(yank)复制/移除的区域/行
M-y 召回更早的内容(在kill 缓冲区内循环)
C-x C-x 交换光标和标记
C-t 交换两个字符的位置
M-t 交换两个单词的位置
C-x C-t 交换两行的位置
M-u 使从光标位置到单词结尾处的字母变成大写
M-l 与M-u 相反使从光标位置到单词结尾处的字母变成小写
M-c 使从光标位置开始的单词的首字母变为大写

重要快捷键(Impor tant)

C-g 停止当前运行/输入的命令
C-x u 撤销前一个命令
C-_ 或 C-/ 编辑撤销
M-x revert-buffer RETURN (照着这个输入)撤销上次存盘后所有改动
M-x recover-file RETURN 从自动存盘文件恢复
M-x recover-session RETURN 如果你编辑了几个文件, 用这个恢复

在线帮助(Online -Help)

C-h c 显示快捷键绑定的命令
C-h k 显示快捷键绑定的命令和它的作用
C-h l 显示最后100 个键入的内容
C-h w 显示命令被绑定到哪些快捷键上
C-h f 显示函数的功能
C-h v 显示变量的含义和值
C-h m 显示当前编辑缓冲区所在编辑模式的有关资料
C-h a 这个概念涉及到哪些命令
C-h b 显示当前缓冲区所有可用的快捷键
C-h t 打开emacs 教程
C-h i 打开info 阅读器
C-h C-f 显示emacs FAQ
C-h p 显示本机Elisp 包的信息

搜索/替换(Seach /Replace)

C-s 向后搜索
C-r 向前搜索
C-g 回到搜索开始前的位置(如果你仍然在搜索模式中)
M-% 询问并替换(query replace)
Space 或y 替换当前匹配
Del 或n 不要替换当前匹配
. 仅仅替换当前匹配并退出(替换)
, 替换并暂停(按Space 或y 继续)
! 替换以下所有匹配
^ 回到上一个匹配位置
RETURN 或q 退出替换

使用正则表达式(Reg ular expres sion)搜索/替换

可在正则表达式中使用的符号:
^ 行首
$ 行尾
. 单个字符
.* 任意多个(包括没有)字符
\< 单词开头
\> 单词结尾
[] 括号中的任意一个字符(例如[a-z]表示所有的小写字母)
M C-s RETURN 使用正则表达式向后搜索
M C-r RETURN 使用正则表达式向前搜索
C-s 增量搜索
C-s 重复增量搜索
C-r 向前增量搜索
C-r 重复向前增量搜索
M-x query-replace-regexp 使用正则表达式搜索并替换

窗口命令(Window Commands)

C-x 2 水平分割窗格
C-x 3 垂直分割窗格
C-x o 切换至其他窗格
C-x 0 关闭窗格
C-x 1 关闭除了光标所在窗格外所有窗格
C-x ^ 扩大窗格
M-x shrink-window 缩小窗格
M C-v 滚动其他窗格内容
C-x 4 f 在其他窗格中打开文件
C-x 4 0 关闭当前缓冲区和窗格
C-x 5 2 新建窗口(frame)
C-x 5 f 在新窗口中打开文件
C-x 5 o 切换至其他窗口
C-x 5 0 关闭当前窗口
C-x 5 b 创建新窗格并显示另一个编辑缓冲区

书签命令(Bookma rk commands )

C-x r m 在光标当前位置创建书签
C-x r b 转到书签
M-x bookmark-rename 重命名书签
M-x bookmark-delete 删除书签
M-x bookmark-save 保存书签
C-x r l 列出书签清单
d 标记等待删除
Del 取消删除标记
x 删除被标记的书签
r 重命名
s 保存列表内所有书签
f 转到当前书签指向的位置
m 标记在多窗口中打开
v 显示被标记的书签(或者光标当前位置的书签)
t 切换是否显示路径列表
w 显示当前文件路径
q 退出书签列表
M-x bookmark-write 将所有书签导出至指定文件
M-x bookmark-load 从指定文件导入书签

Shell

M-x shell 打开shell 模式
C-c C-c 类似unix 里的C-c(停止正在运行的程序)
C-d 删除光标后一个字符
C-c C-d 发送EOF
C-c C-u 删除当前行(unix 下的C-u)
C-c C-z 挂起程序(unix 下的C-z)
M-p 显示前一条命令
M-n 显示后一条命令

Shell Command Output

M-! 打开Shell Command Output 模式

DIRectory E Ditor (dire d)

C-x d 打开dired
C(大写C) 复制
d 标记等待删除
D 立即删除
e 或f 打开文件或目录
g 刷新当前目录
G 改变文件所属组(chgrp)
k 从屏幕上的列表里删除一行(不是真的删除)
m 用*标记
n 光标移动到下一行
o 在另一个窗格打开文件并移动光标
C-o 在另一个窗格打开文件但不移动光标
P 打印文件
q 退出dired
Q 在标记的文件中替换
R 重命名文件
u 移除标记
v 显示文件内容
x 删除有D 标记的文件
Z 压缩/解压缩文件
M-Del 移除标记(默认为所有类型的标记)
~ 标记备份文件(文件名有~的文件)等待删除
# 标记自动保存文件(文件名形如#name#)等待删除
*/ 用*标记所有文件夹(用C-u */n 移除标记)
= 将当前文件和标记文件(使用C-@标记而不是dired 的m 标记)比较
M-= 将当前文件和它的备份比较
! 对当前文件应用shell 命令
M-} 移动光标至下一个用*或D 标记的文件
M-{ 移动光标至上一个用*或D 标记的文件
% d 使用正则表达式标记文件等待删除
% m 使用正则表达式标记文件为*
+ 新建文件夹
> 移动光标至后一个文件夹
< 移动光标至前一个文件夹
s 切换排序模式(按文件名/日期)
或许把这个命令归入这一类也很合适:
M-x speedbar 打开一个独立的目录显示窗口

Telnet

M-x telnet 打开telnet 模式
C-d 删除后一个字符或发送EOF
C-c C-c 停止正在运行的程序(和unix 下的C-c 类似)
C-c C-d 发送EOF
C-c C-o 清除最后一个命令的输出
C-c C-z 挂起正在运行的命令
C-c C-u 移除当前一行
M-p 显示前一条命令
M-n 显示后一条命令

Text

只能在text 模式里使用
M-s 使当前行居中
M-S 使当前段落居中
M-x center-region 使被选中的区域居中

宏命令(Macro-c ommands)

C-x ( 开始定义宏
C-x ) 结束定义宏
C-x e 运行最近定义的宏
M-n C-x e 运行最近定义的宏n 次
M-x name-last-kbd-macro 给最近定义的宏命名(用来保存)
M-x insert-kbd-macro 将已命名的宏保存到文件
M-x load-file 载入宏
C-u C-x ( 执行最后一次录制的宏,然后允许再增加新按键组合
C-x q 在宏定义里面插入一个查询
C-u C-x q 在宏定义里面插入一个递归编辑
M-C-c 退出递归编辑

编程(Program ming)

M C-\ 自动缩进光标和标记间的区域
M-m 移动光标到行首第一个(非空格)字符
M-^ 将当前行接到上一行末尾处
M-; 添加缩进并格式化的注释
C, C++和Java 模式
M-a 移动光标到声明的开始处
M-e 移动光标到声明的结尾处
M C-a 移动光标到函数的开始处
M C-e 移动光标到函数的结尾处
C-c RETURN 将光标移动到函数的开始处并标记到结尾处
C-c C-q 根据缩进风格缩进整个函数
C-c C-a 切换自动换行功能
C-c C-d 一次性删除光标后的一串空格(greedy delete)
为了实现下面的一些技术, 你需要在保存源代码的目录里运行"etags *.c *.h *.cpp"(或者源代码的其他的扩展名)
M-.(点) 搜索标签
M-x tags-search ENTER 在所有标签里搜索(使用正则表达式)
M-,(逗号) 在tags-search 里跳至下一个匹配处
M-x tags-query-replace 在设置过标签的所有文件里替换文本

GDB(调试器)

M-x gdb 在另一个的窗格中打开gdb

版本控制(Versio n Control)

C-x v d 显示当前目录下所有注册过的文件(show all registered files inthis dir)
C-x v = 比较不同版本间的差异(show diff between versions)
C-x v u 移除上次提交之后的更改(remove all changes since last checkin)
C-x v ~ 在不同窗格中显示某个版本(show certain version in differentwindow)
C-x v l 打印日志(print log)
C-x v i 标记文件等待添加版本控制(mark file for version control add)
C-x v h 给文件添加版本控制文件头(insert version control header intofile)
C-x v r 获取命名过的快照(check out named snapshot)
C-x v s 创建命名的快照(create named snapshot)
C-x v a 创建gnu 风格的更改日志(create changelog file in gnu-style)

============= End

Emacs_快捷键列表相关推荐

  1. Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)...

    Eclipse编辑器基本设置 1.添加行号 在边缘处右键 2.改字体 字体的一般配置 3.去掉拼写错误检查 4.Java代码风格 代码格式化 Ctrl + Shift + F 之后点击右边的New按钮 ...

  2. IntelliJ Idea 常用快捷键 列表

    IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) 1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.ou ...

  3. WordPress 常用快捷键列表

    Toy Posted in Tips WordPress 是此刻极度流行的 Blog 体系按次.在运用它的进程中,我发现,在配景撰文时经过运用快捷键举办操纵切实其实可以带来不小的服从提拔.以下是我整顿 ...

  4. IntelliJ Idea学习笔记001--- IntelliJ Idea常用快捷键列表

    1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boilerplate样板代码  例如要输入for( ...

  5. 启动菜单(Boot Menu)快捷键列表

    台式机品牌                              快捷键 Lenovo联想台式机                  F12.F8 或 F10 DELL戴尔台式机           ...

  6. freecommander 快捷键列表 zz

    第一部分 Alt+F4 文件(F) - Exit Closes FreeCommander Ctrl+Alt+V 文件(F) - 比较文本文件... 比较文本文件 F4 文件(F) - 编辑(E) 打 ...

  7. 新手最应记住和收藏的 Mac 键盘快捷键列表整理

    最近趁着「苹果教育优惠免费送 AirPods」,很多同学都纷纷入手了新的 Mac!然而对于初次接触 macOS 的朋友来说,除了要寻找不同的 APP 软件之外,还有一件事情也直接影响着使用电脑的效率, ...

  8. vimium 快捷键列表

    vimium 快捷键列表 一个使用快捷键来操作浏览器页面的插件. 浏览当前页面 ? 显示所有可用键列表的帮助对话框 h 向左滚动 j 向下滚动 k 向上滑动 l 向右滚动 gg 滚动到页面顶部 G 滚 ...

  9. Datawhale 202210 Excel | 第三章 快捷键操作示例 Excel快捷键列表

    Excel快捷键及快捷操作示例 1. 快捷键操作示例 1.1 自动插入求和公式 1.2 自动进行列差异比对 1.3 自动填充 需要提取客户的手机号 身份证号码中提取出生日期 2. 快捷键列表 常用 文 ...

最新文章

  1. Imagine,is real crazy!
  2. idea在目录中前添加目录_[LaTeX Beamer] 为目录项添加页码
  3. 几个基本概念辨析:流敏感,路径敏感和上下文敏感
  4. scala调用java代码
  5. gprof, Valgrind and gperftools - an evaluation of some tools for application level CPU profiling on
  6. 超漂亮的响应式个人主页
  7. Python中第三方库Requests库的高级用法详解
  8. Toolbar的困惑
  9. JAVA项目管理ppt_【干货】超实用项目管理ppt项目管理ppt
  10. python视频教程马哥_【进阶】51CTO马哥Python从入门到精通视频 60课
  11. [题解]luogu_P3593_[NOIP2017]逛公园(最短路相关计数
  12. 给table表格表头添加斜线
  13. 砸蛋程序php,基于JQuery+PHP编写砸金蛋中奖程序,jquery中奖_PHP教程
  14. 你有没有玩命爱过一个姑娘
  15. Android Thermal
  16. 【Bootstrap】选择折叠项collapse
  17. Python快速实现视频播放器
  18. (深度神经网络多.py文件)python打包过程遇到的问题记录
  19. 2.中继镜(增距镜)详解
  20. 「业务架构」EA874:业务架构层

热门文章

  1. 自律的程序员生活是什么样的?
  2. 全网最全面工作流引擎Flowable完整教程之多实例会签
  3. 鸿蒙系统可以跟ios媲美吗,国产系统有盼头了?任正非说不需要两三年,鸿蒙就能和iOS媲美...
  4. mysql中phpmyadmin安装教程_怎么安装phpMyAdmin?
  5. Direct3d 设备丢失 (device lost)
  6. 【完美解决win10 安装 vm 报错 failed to install USB inf file failed to install the hcmon driver】
  7. MATLAB怎么让三围图动起来,Matlab小技巧 -- 让图动起来!
  8. 散文说python半篇——景观三元论与盖茨比的对话
  9. 当下比较火的直销分销预订返佣模式系统软件定制开发
  10. linux系统异常断电后开不了机,如何解决电脑突然断电后开不了机的问题