注意:以下命令中标注的按键,大写的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常用命令汇总的更多相关文章

  1. Emacs常用命令快速参考

    原文地址 Emacs常用命令的汇总,来自Emacs参考卡片 注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shif ...

  2. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  3. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  4. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  5. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  6. Docker笔记:常用命令汇总

    Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...

  7. [svc][op]vim常用命令汇总

    vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...

  8. 【Ubuntu】常用命令汇总,整理ing

    Ubuntu 常用命令(在此页面中Ctrl+F即可快速查找) 在Ubuntu系统使用过程中,会不断地接触到命令行操作,下面对一些常用的命令进行汇总,方便查找. 1.文件操作 1.1 文件复制拷贝 cp ...

  9. Linux常用命令汇总及使用方法(二)之文本编辑器VI

    VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...

随机推荐

  1. Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持

    Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持. Spring.Net.Framework,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开 ...

  2. rsync安装配置及故障解决完全教程[window, 文件同步]

    Rsync是的全称是: remote synchronize, 也就是远程同步数据, 它是一款不错的文件同步软件,而且是免费的, 它在镜像保存整个目录树和文件系统的同时保持原来文件的权限.时间.软硬链 ...

  3. C#调用Java类

    C#调用Java类 (2011-01-07 14:02:05) 转载▼   分类: Java学习  1. 在Eclipse中新建名称为hello的java project,此工程仅包含一个文件hell ...

  4. zoj 3261 Connections in Galaxy War

    点击打开链接zoj 3261 思路: 带权并查集 分析: 1 题目说的是有n个星球0~n-1,每个星球都有一个战斗值.n个星球之间有一些联系,并且n个星球之间会有互相伤害 2 根本没有思路的题,看了网 ...

  5. [SLAM] 01 "Simultaneous Localization and Mapping" basic knowledge

    发信人: leecty (Terry), 信区: ParttimeJobPost标 题: 创业公司招SLAM 算法工程师发信站: 水木社区 (Thu Jun 16 19:18:24 2016), 站内 ...

  6. 使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作&开发环境

    C#开发环境:VS2013; H5开发环境:WebStorm; 数据库:mysql+navicat管理工具: 操作系统:win7: 调试:chrome浏览器 如果想在微信端上线运营游戏请做好以下准备工 ...

  7. Android学习笔记之性能优化SparseArray

    PS:终于考完试了.来一发.微机原理充满了危机.不过好在数据库89分,还是非常欣慰的. 学习内容: 1.Android中SparseArray的使用..   昨天研究完横向二级菜单,发现其中使用了Sp ...

  8. 终极事务处理(XTP,Hekaton)——万能大招?

    在SQL Server 2014里,微软引入了终极事务处理(Extreme Transaction Processing),即大家熟知的Hekaton.我在网上围观了一些文档,写这篇文章,希望可以让大 ...

  9. python编码问题的最终分析

    python初学者,往往因为字符编码的问题而苦恼不已,本人也是阅读了大量的博客,再进行了一定的测试,基本搞清楚了编码问题的前因后果.下面一段代码是在python3.5上的,以它为例进行讲解(请忽略糟糕 ...

  10. 程序代码记Log

    private static object s_lock = new object(); public static void TraceLog(string message, string logF ...