C-代表按住Ctrl键
M-代表按住Alt键,也可以用按一下ESC放开代替
 
最先要记住的
M-x <cmd>      输入指令执行,在输入时用Tab可以自动补全或列出项目
C-g            取消当前操作指令
C-h k <key>    查看当前按键绑定的指令及介绍
 
移动插入点(光标)
C-n/p/b/f      到 下一行、上一行、前一字符、后一字符
M-b/f          到 前、后一单词
C-a/e          到 行首、末
M-a/e          到 句首、末
M-         到 文件首、末
C-v/M-v        下、上翻屏
C-l        循环 将当前光标行显示在窗口下、中、上位置
 
C-u <num> <xx> 重复执行之后的 xx 命令 num 次,不输入num默认为4
C-u C-v        向下滚动4
 
编辑
Back/C-d       删除 前、后字符
M-Back/M-d     移除 前、后单词
C-k/M-k        移除到 行末、句末
 
C-/            undo/redo
C-x u          undo/redo
 
C-w            剪切
C-y        召回(粘贴)(粘贴移除的、复制、剪切的内容)
C-c        复制(emacs一般也默认定制了与OS的剪切复制粘贴相同的快捷键)
 
查找
C-s
  C-s 查找下一个
  C-r 查找上一下
  C-g 一次返回,二次结束查找
  回车    停止到当前查找到的内容
替换
M-%
 
标记
M-@
 
文件操作
C-x C-c        退出emacs
 
C-x C-f        打开文件
C-x C-s        保存文件
C-x C-v        在当前缓冲区重新打开一个文件,可以用于清除undo历史!!
 
C-x 1          最大化当前缓冲,关闭其它
C-x 2/3        垂直、水平创建新缓冲区
C-x o          切换到其它缓冲区
 
C-x C-b        列出缓冲区
C-x b          提示输入缓冲区名称,切换当前窗口的缓冲区
C-x k          删除当前缓冲区
 
C-j        换行回车,有些模式下比较直接回车好用,有增加缩进之类的功能
 
------
 
 
理解一些概念
buffer
  缓冲区,内存中的数据,打开文件时读入内容到内存,修改后保存才会修改到磁盘上的文件。
 
window
  窗口,缓冲区的一个展示区域
 
frame
  OS上的一个emacs程序窗口
 
mode 模式
  mode有主模式,辅助模式,主模式就像vim中设置当前filetype一样,当前编辑的是ruby或者python源代码,根据不同文件类型,设置按Tab缩进时缩进不同的字符数,把不同的词当作关键字时行语法高亮等等,同一时间只能选一个主模式。试着多开几个窗口,执行text-mode ruby-mode python-mode试下。emacs打开文件时会自动根据文件扩展名或内容检查并设置主模式。
  辅助模式就是窗口是否要自动换行,是否显示行号等,辅助模式可以多个同时启用。
 
undo
  EMACS 中想要将已经做过的动作放弃,以恢复原状。
 
  EMACS 所提供的 undo,可以连续恢复最近使用过的指令。
  undo 的顺序是最新使用过的指令最先被 undo ,第二次使用 undo 则恢复第二新的指令,任何指令的输入(除了 undo 本身之外) 都会使指令输入的顺序重整, 这也同时影响 undo 的顺序。
  使用 undo 有一个限制,就是 undo 只能 undo 对缓冲区内容造成改变的指令。对于只是改变游标动作的指令,是无法以 undo 来恢复旧观。若所有修改过内容的指令,都以 undo 恢复原状后, 再一次使用 undo 的指令,echo area 会出现如下的讯息:No further undo information.
当使用了 undo 之后,还想要在 redo 这个已被 undo 的动作时, 有一个技巧可以达成如此的效果。
 1.首先键入一个不会改变缓冲区内容的指令(如光标移动的指令),使原来
 2.存放指令的顺序因新指令的加入而改变。
 3.再使用一次 undo 的指令,就可以达到 redo 的效果了。
 
undo的行为很难描述,示例:
 新建一个文件
 执行几个修改内容的指令 <1回车2回车3回车>, 这时undo历史里有6条记录
 undo顺序为654321, 继续undo则提示No further undo information
 按下左右方向键(虽然移不动光标),这时undo历史里有12条记录了,前6条undo就变成redo了,顺序123456654321
 再按下方向键,undo历史记录数量再翻倍
  
emacs的undo不会丢失任何操作,你先做一些操作,undo,再做另一些操作,如果是其它编辑器,第一次undo的动作就失踪了,emacs里却一直存在着,原因同上。多试几次就明白了。
 

emacs命令记录的更多相关文章

  1. MYSQL存储过程中常使用的命令记录

    MYSQL存储过程中常使用的命令记录 1.触发器trigger 查看:show triggers; 2.存储过程procedure 查看:show procedure status; 查看详细:sho ...

  2. Linux命令记录。

    引用:http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/2992500.html 首先,需要确定的是知道的是:对于Linux系统来说 ...

  3. Bash shell命令记录和CentOS的一些技巧

    ①CentOS的实用技巧: 一.按下ctrl+alt+F2可由图形界面切换至命令行(shell窗口),按下ctrl+alt+F1可由命令行切换至图形界面(前提是安装CentOS时软件选择项选择安装了图 ...

  4. Linux服务器时间相关命令记录

    前言 以往安装服务器时间都是正常,但是最近服务器的时间经常出现问题,所以在安装配置完成服务器之后需要对服务器的时间进行测试,如果服务器时间异常,那么当程序去取系统时间的时候就会出现问题. 时间相关命令 ...

  5. GNU Emacs命令速查表

    GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...

  6. Vim 命令记录与回放

    步骤如下: q+(a..z)寄存器名: 执行你要执行的操作: q 结束操作: 调用为@+寄存器: 列子如下: 在写PHP 程序时用的比较多的是创建函数: 如 function add_in(){ } ...

  7. Centos下磁盘管理的常用命令记录(如查找大文件)

    Centos下磁盘管理的常用命令记录 查看系统磁盘空间占用,使用命令: df -h 结果: 查看磁盘inode使用情况,如果inode用完了,磁盘就没法写入新的内容了: df -i 结果: 如何查找磁 ...

  8. saltstack 开发相关命令记录

    SALT API开发相关命令记录. 查看当前的salt key信息salt-key -L 测试被控主机的连通性salt '*' test.ping 远程命令执行测试salt '*' cmd.run ' ...

  9. HIVE 命令记录

    HIVE 命令记录 设置hive运行的队列 hive> set mapreduce.job.queuename=ven12; 打印列名 hive> set hive.cli.print.h ...

随机推荐

  1. 一个简单、易用的Python命令行(terminal)进度条库

    eprogress 是一个简单.易用的基于Python3的命令行(terminal)进度条库,可以自由选择使用单行显示.多行显示进度条或转圈加载方式,也可以混合使用. 示例 单行进度条 多行进度条 圆 ...

  2. (转)HTTP 协议详解(基础)

    HTTP 协议详解 作者: 小坦克  来源: 博客园  发布时间: 2012-02-14 13:32  阅读: 95523 次  推荐: 99   原文链接   [收藏]   相关文章:HTTP 协议 ...

  3. 小程序server-3-搭建WebSocket 服务

    小程序server-3-搭建WebSocket 服务: 1.安装 Node 模块 使用 ws 模块来在服务器上支持 WebSocket 协议,下面使用 NPM 来安装: cd /var/www/wxp ...

  4. Java大数据人才应用领域广,就业薪酬高

    互联网创造了大数据应用的规模化环境,大数据应用成功的案例大都是在互联网上发生的, 互联网业务提供了数据,互联网企业开发了处理软件,互联网企业的创新带来了大数据应用 的活跃,没有互联网便没有今天的大数据 ...

  5. Backpropagation 算法的推导与直观图解

    摘要 本文是对 Andrew Ng 在 Coursera 上的机器学习课程中 Backpropagation Algorithm 一小节的延伸.文章分三个部分:第一部分给出一个简单的神经网络模型和 B ...

  6. 【我的漫漫跨考路】有生之年·调完了BUG--冒泡排序C++版本

    正文之前 今天去牛客网试了试一些实战编程题,感觉贼有意思,但是也很难,挑了个成绩排序的算法题我就开始怼! 对我一个编程经验并不是很丰富的人来说,确实算是个挑战了. 所以我满满当当的搞了四个小时多,才算 ...

  7. akoj-1162-计算表达式

    计算表达式 Time Limit:1000MS  Memory Limit:65536K Total Submit:14 Accepted:7 Description 对于一个不存在括号的表达式进行计 ...

  8. [POI2007]洪水pow 并查集

    我们先得出一个结论:水泵要建在城市上.因为如果在非城市上建能把其他一些城市抽干,那么在城市上建也是一个效果(自己画图感性理解一下) 然后我们明白抽水的条件:周围的高度要>=自身的高度,这样会抽完 ...

  9. linux下scrapy环境搭建

    最近使用scrapy做数据挖掘,使用scrapy定时抓取数据并存入MongoDB,本文记录环境搭建过程以作备忘 OS:ubuntu 14.04  python:2.7.6 scrapy:1.0.5 D ...

  10. js实现轮播图动画

    在网页浏览中,可以看到轮播图是无处不在的,这是一个前端工程最基本的技巧.首先看看几个网页的呈现的效果. QQ音乐: 网易云音乐: 天猫: 接下来将从简到难总结几种实现轮播图的方法. 1.样式一:鼠标滑 ...