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. PHP mmysqli_affected_rows(connection);函数

    mysqli_affected_rows(); 函数返回前一次 MySQL 操作所影响的记录行数. mysqli_affected_rows(connection); connection 必需.规定 ...

  2. ckeditor粘贴word图片自动上传功能

    由于工作需要必须将word文档内容粘贴到编辑器中使用 但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直 ...

  3. vmware 安装 VMwareTools

    mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom cp VMwareTools-x.x.x-yyyy.tar.gz ~/ cd ~ ...

  4. redis之哨兵集群

    一.主从复制背景问题 Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用: 一旦主节点宕机,从节点作为主节点的备份可以随时顶上来. 扩展主节点的读能力,分担主节点读压力. 但是问题是: ...

  5. xml详解

    https://www.cnblogs.com/zhao1949/p/5652167.html https://www.cnblogs.com/cb0327/p/4967782.html

  6. IISPUT 批量脚本的编写

    import requests import re import sys header = { "Accept":"text/javascript, applicatio ...

  7. 全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案

    第二章 Python语言基本语法元素 一.选择题C B B C A D B A D B二.编程题1.获得用户输入的一个整数N,计算并输出N的32次方.在这里插入图片描述2.获得用户输入的一段文字,将这 ...

  8. 前端知识点回顾——Reactjs

    React.js 编写react需要安装的三个开发环境下的模块 babel 解析JSX react 实现ui用户界面 react-dom 处理dom JSX:在JavaScript里面写html代码( ...

  9. kotlin标准委托之阻止属性的赋值操作

    import kotlin.properties.Delegates fun main(arg: Array<String>) { val user = user() user.name= ...

  10. 006-log-logback,slf4j+logback

    一.概述 Logback作为流行的log4j项目的继承者.它是由log4j的创始人Ceki Gulcu设计的.它是建立在上十年优质日志系统设计经验之上而产生的产品,即logback,它比所有现有的日志 ...