emacs 常用命令
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 常用命令的更多相关文章
- Emacs常用命令快速参考
原文地址 Emacs常用命令的汇总,来自Emacs参考卡片 注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shif ...
- Emacs常用命令汇总
注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shift,在键盘上通常是Shift键,也就是 C Control ...
- Emacs常用命令
1.离开Emacs 挂起Emacs C-z 退出Emacs C-x C-c 2.文件 打开文件 C-x C-f 保存文件 C-x C-s 保存所有的文件 C-x s 将一个文件的内容插入到当前buff ...
- Git 基本概念及常用命令
一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...
- DOS 和 Linux 常用命令的对比
DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...
- 实用手册:130+ 提高开发效率的 vim 常用命令
Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...
- 用xshell操作linux系统的常用命令
(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以. ...
- linux 常用命令 集锦
第一章 LINUX简介及安装 1一.LINUX介绍 1二.LINUX安装 2三.LINUX目录 2四.总结来说: 3第二章 常用命令及帐户管理 4一.linux命 ...
- Git配置和一些常用命令
Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...
随机推荐
- JavaMail使用SMTP协议发送电子邮件(详解)
Properties props = new Properties(); props.setProperty("mail.transport.protocol", "sm ...
- locale与C字符编码
ref: https://www.cnblogs.com/gatsby123/p/11150472.html Unicode 字符集 代码点 与编码表中的某个字符对应的代码值.在Unicode标准中, ...
- HDU 4386 Quadrilateral(四边形的海伦公式的应用)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=115760#problem/G 题目大意是给出四条边,问能否组成一个四边形,如果 ...
- springmvc返回json对象
1.引入jackson的依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -- ...
- 浏览器环境下的microtaks和macrotasks
带有可视代码执行顺序的原文链接https://jakearchibald.com/201...,此篇文字并非其完整翻译,加入了一部分自己的理解,比如将其中的task替换为macrotask或是删除了可 ...
- Ubuntu JDK环境变量
环境变量配置 sudo gedit ~/.bashrc export JAVA_HOME=/usr/local/java/jdk1.8.0_201 export JRE_HOME=${JAVA_HOM ...
- AngularJS开发中常用的写法,如:获取URL参数、路由跳转、$http、获取元素等
控制器,带状态 app.controller('editCtrl', ['$http', '$location', '$rootScope', '$scope', '$state', '$stateP ...
- Flutter移动电商实战 --(27)列表页_现有Bug修复和完善
小解决小bug 默认右侧的小类没有被加载 数据加载完成后,就list的第一个子对象传递给provide进行赋值,这样右侧的小类就刷新了数据 默认加载了第一个类别 调整颜色 对比图片调整下颜色 这里的参 ...
- Vue于React特性对比(四)
新开了一个vue的项目,从vue单页面框架搭建到单点登录接入都是自己负责搞的.然后准备将这套东西迁移到react上.然后有了这篇文章. 1,reactjs分环境打包明显要比vue更为麻烦 vue修改的 ...
- laydate V5-0-8动态设置min值
laydate通过设置min,max值来对用户输入的时间做约束 laydate v1.0版本 //日期插件 var start={ elem:"#start", format:&q ...