C stands for Ctrl and M stands for Alt 
REFERENCE FORM EMACS TUTORIAL
表述不一定正确,仅供参考,主要是要多实践,一开始可能会不习惯。

PART1 CURSOR
C+p 光标上移
C+n 光标下移
C+b 光标后移
M+b 光标向前移动一个单词
C+f 光标前移
M+f 光标向后移动一个单词
C+v 向下翻页
M+v 向上翻页
C+l 光标移动屏幕中间
C+a 光标移动到本行最前位置
C+e 光标移动到本行最后位置
M+a 光标移动到本句或上一句的最前位置
M+e 光标移动到本句或或下一句的最后位置
M+< 移动到当前文档开始处
M+> 移动到当前文档结束处

OTHERS
C+u + num + cmd 重复执行cmd num次
C+g 取消当前命令或输入一半的命令

INSERTING AND DELETING
C+d 删除光标当前所在字符
M+d 删除光标之后的一个单词
C+k 剪切光标开始到行结尾的字符
M+k剪切光标之后的一句话
C+@ 在两个位置按下,然后再按C+w,则剪切两个位置之间的字符
C+y 粘贴最近一次所剪切的内容
M+y 可以切换不同的剪切的内容,按住M键,然后通过按y来进行选择

UNDO
C+x+u 撤销

FILES
当你打开一个文档并进行编辑后保存,emacs会先对原文档进行改名(在名字前加‘~’)保存,然后再进行保存操作,以防你之后想恢复到原来的文档。
当你编辑一个文档时,这个文档的名字会在emacs的底下显示
C+x+C+f 按C+x然后按C+f,然后再输入你想打开的文件的名字,就打开你想要的文档,如果你输入过程中不想继续可以按C+g,当找不到所需的文档时会自动创建一个文档。
C+x+C+s 保存当前文档

BUFFERS
在emacs里面编辑的每一个文档都是一个buffer,可以通过C+x+C+f+‘文件名’进行切换
如当前emacs里编辑着两个文件,即两个buffer,‘foo’和‘test.cc’。
也可以通过按C+x+b+文档名来进行切换。
假设你忘记了文件的名字,那你可以先输入:
C+x+C+b 查看当前emacs打开的文档列表,可以用C+x+1来关闭打开的列表窗口。
其中里面有两项并不指向任何文档,*Buffer List*和*Messages*,这两项分别保存列表文档的名称,及保存emacs最低下显示的信息,你可以通过C+x+b然后输入这两个名字来查看他们的内容。
如果现在emacs打开了三个文档,你编辑完第一个后没保存,直接切换到第二个,同样是没保存直接切换到第三个,这时如果你想要保存前两个文档,除了分别切换到那两个文档然后再执行保存的方法外,还有更简单的方法是在第三个文档的界面下直接按C+x+s,这时底下的信息栏会一一问你是否要进行对第一个和第二个文档进行保存。

AUTO SAVE
自动保存是一个很好的功能,emacs当然也有。
emacs有一个周期自动保存功能,自动把当前的文档内容保存在用两个‘#’夹起来的文件名里,例如当前文件名为‘test.cc’,则自动保存为#test.cc#,当你正常退出emacs时,emacs会把这个文件删除。
当你的机子当掉的时候,如何恢复文档呢?
只要用emacs打开原来的文件(注意不是被‘##’夹住的文件),emacs会建议你用M+x recover-this-file然后空格来恢复,再输入yes,就可以恢复了。
注:在shell底下如果要查看一个auto-save文件(即‘##’夹住的文件),如用cat命令,需要在这个文件名两端加冒号,如 cat “#test.cc#”。可能是命令行解释工具不能解析这种符号。

MODE LINE
MODE LINE就是emacs底下灰色底的那一行,
如例子:
--:**- TUTORIAL 63% L749 <Fundamental>-------------------
下面说下各部分的名称。
TUTORIAL是当前文档的名字,名字之前的星号是指当前文档有被编辑但未被保存,当保存后星号就变成--(dash),63%是指当前处于全文的位置,L749当然就是指光标所在的行号为749了。<Fundamental>告诉你当前你所处的编辑模式,emacs有多个不同的编辑模式,fundamental是一种主要的模式,不同的模式还会导致某些命令的作用不同。你可以通过输入:M+x XXX-mode+回车来改变当前模式,例如M+x c++-mode,etc。

SEARCHING
C+s+搜索内容 向前搜索,如果想继续可以继续按C+s,不想搜索的时候可以按C+g,如果找到想找的就按回车
C+r+搜索内容 如上,但方向是向后搜索

MULTIPLE WINDOWS
C+x+2 将当前窗口横向一分为二
C+x+3 将当前窗口纵向一分为二
C+x+o 将光标移动到另一窗口
C+x+1 去除其他窗口,剩下光标所在的窗口
C+M+v 光标在一个窗口,使另一个窗口滚动
在每一个窗口都可以一分为二,这样就可以出现多窗口,但最多能打开窗口的数量是和当前框架的大小有关系的。
C+x+4+C+f+文件名 打开一个文件,在一个新窗口里显示

GETTING MORE HELP
C+h+k+cmd 查询cmd的功能,说明比较详细。
C+h+c+要查询的命令 最常用的命令查询,它会简练的介绍命令的作用。
C+h+a+关键字 查询所有含有关键字的命令,这个命令可以帮助你记忆命令

emacs 常用命令的更多相关文章

  1. Emacs常用命令快速参考

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

  2. Emacs常用命令汇总

    注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shift,在键盘上通常是Shift键,也就是 C Control ...

  3. Emacs常用命令

    1.离开Emacs 挂起Emacs C-z 退出Emacs C-x C-c 2.文件 打开文件 C-x C-f 保存文件 C-x C-s 保存所有的文件 C-x s 将一个文件的内容插入到当前buff ...

  4. Git 基本概念及常用命令

    一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...

  5. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  6. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  7. 用xshell操作linux系统的常用命令

    (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以. ...

  8. linux 常用命令 集锦

    第一章  LINUX简介及安装    1一.LINUX介绍    1二.LINUX安装    2三.LINUX目录    2四.总结来说:    3第二章 常用命令及帐户管理    4一.linux命 ...

  9. Git配置和一些常用命令

    Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...

随机推荐

  1. java实现文件夹上传

    文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件.而且支持断点续传. 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场 ...

  2. [Luogu] 树状数组

    https://www.luogu.org/problemnew/show/P3374 单点修改,区间查询 #include <iostream> #include <cstdio& ...

  3. Java集合总结(二):Map和Set

    集合类的架构图: HashMap 内部维护一个链表数组做哈希表,默认大小为16,最大值可以为2^30,默认负载因子0.75. 可以通过构造方法指定初始大小和负载因子,当键值对个数大于等于临界值thre ...

  4. VS2010调试时,对于一些语句不能单步运行也不能对变量添加监视的问题

    在以mfc建立的工程中,需要建立一个链表来保存一些数据.但是在创建结构体,以及对其赋值的过程中,发现对结构体变量不能观察,添加到监视器中的变量也出现变量名不存在的错误. 首先,在文件的开始定义一个结构 ...

  5. WEB测试重点及视频教程

    WEB测试重点如下: 1.WEB测试基础-2.理解网络协议-3.HTTP协议详解-4.WEB前段分析-5WEB安全性测试-6.WEB兼容性及可用性测试. 1.通常需要承受长时间的大量操作,因此web项 ...

  6. csp-s模拟90

    T1: 每格的不透明度相当与一个边权,转化为从起点到终点所有路径的最大值.实现最长路,最好用$dijk$. T2: 对于$N=100$,$M=8$,考虑状压$dp$.要用一种状态表示某一行的矩形覆盖情 ...

  7. 查看memcache版本

    window: cmd中用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到memcache服务器的版本. 注意:memcache的默认端口 ...

  8. python 调用github的api,呈现python的受欢迎的程度

    1 使用api调用数据: 在浏览器的地址栏中输入: https://api.github.com/search/repositories?q=language:python&sort=star ...

  9. 2.4 Go语言基础之切片

    本文主要介绍Go语言中切片(slice)及它的基本使用. 一.引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x [3]int) ...

  10. ios UISegmentedControl 用法举例

    UISegmentedControl * segmentControl = [[UISegmentedControl alloc]initWithFrame:CGRectMake(0, 0, 160, ...