Emacs简易教程
Emacs简易教程阅读:
命令:
$emacs
进入之后,输入:
C-h t
这里,C-h表示按住[Ctrl]键的同时按h
#######
20090620
*退出:
输入“C-x C-c”
*撤销:
输入"C-x u"
或输入"C-_"
这里,"C-_"比较好输入一些(好像C--也行),但是有的键盘上面没有"_"就只能输入“C-x u”了,撤销动作能进行20次。
*向上翻页:
输入"M-v"
这里,右手的M好像不好使?
*向下翻页:
输入"C-v"
*刷新屏幕:
输入"C-l"
这里,l不是1,执行之后光标和相应文字都跑到屏幕中间。
*基本移动光标:
C-f 向前移动一个字符。
C-b 向后移动一个字符。
M-f 向前移动一个单词。
M-b 向后移动一个单词。
C-n 移动到下一行。
C-p 移动到上一行。
C-a 移动到行首。
C-e 移动到行尾。
M-a 向前移动到句子的开头,可能跨多行或一行都不到。
M-e 向后移动到句子的末尾,可能跨多行或一行都不到。
从以上几个命令可知,M是和语言相关的控制键,C之后基本单元有关。Emacs有个特点,就是你移动光标的时候,如果光标超出了屏幕范围(向上或者向下),则立刻将光标及附近文字居屏幕中央。
*重复一定次数的操作:
输入"C-u <数字> <你想要重复操作的命令或输入的字符>"
这里,
C-u <数字>是一个“前缀”,数字是要执行后面的命令的次数;例如"C-u 8 C-p"表示向前8行。
多数命令把这个“前缀”做为重复,但是有些特殊命令不是这样,以后会遇到的。
C-v和M-v加上这个数字表示的是把屏幕移动多少行而不是翻多少页。
*终止现在正在执行的命令:
输入"C-g"
*关掉其它窗口,只显示光标所在窗口:
输入"C-x 1"
在多窗口的时候,这样就会把所有窗口关掉,只显示一个窗口了。
*让光标所在行跑到屏幕顶部:
输入"C-u 0 C-l"
*查看C-f的文档解释:
输入"C-h k C-f"
这样,将新开一个窗口显示该命令(C-f)的解释,其它命令解释类似。
*基本删除操作:
<Delback> 删除光标前面的字符,不可再粘贴
M-<Delback> 除去光标前面的单词
C-d 删除光标后面的字符,
M-d 除去光标后面的单词
C-k 除去从光标位置到行尾的内容,可再粘贴
M-k 除去到当前句子的末尾
####阅读至386行
###########
20090621
*kill一个块的内容:
1)在块的一端输入"C-<SPC>"或"C-@".
这样将设定一个标记。
2)在块的另一端输入"C-w".
至此,这个块(在两端之间的部分)将被删除。
kill和delete的区别是,kill掉的部分可以被粘贴上去,类似剪切。
*kill当前行的光标和光标之后的部分:
输入“C-k”
这样,会删除相应包括光标所在内容,再按"C-k"删除换行符号。
*粘贴最近kill方式删除的文本:
输入"C-y"
*粘贴前几次某次kill删除的文本:
1)先输入"C-y"
这样会把最近的kill删除的文本粘贴回来。
2)多次输入"M-y"
这样,会不断用之前的kill删除的文本来替换当前刚刚粘贴上去的文本(循环的),这样一直进行下去,直到粘贴上之前某次删除的文本。
*打开一个文件yourfilename:
命令行下:$emacs yourfilename
或者emacs下输入:"C-x C-f <yourfilename>"
这样,如果文件名不存在则新建一个,第二个命令"C-x C-f"后有提示让你输入待打开的文件的路径,当前的文件没有保存也不会提示但是退出时候会提示你刚才载入新文件之前没有保存的文件是否保存,没新打开一个文件emacs会新建立一个buffer存放该文件。
*保存一个文件:
输入“C-x C-s”.
这样会保存文件,如果没有保存则提示。如果你没有保存文件,底部的提示行会用*表示未保存。
*查看emacs所有的buffer列表:
输入"C-x C-b"
这样,会显示一个buffer列表,每项显示打开的一个文件的名字。
*切换到相应buffer列表:
输入"C-x b <buffer列表名>"
这里,"C-x b"之后直接输入buffer列表名字,比"C-x C-f"的方式切换简单多了。
*保存buffer内容:
输入"C-x s"
这样,输入"C-x s"之后,会依次询问你那些被改变的没有保存的buffer文件是否保存,你只需要回答就行了。
##########阅读至650行
#######
*替换字符串:
1)输入"M-x "
这样,提示你输入替换命令,可以用<TAB>自动补全。
2)输入"repl s<TAB>"
这里就是利用<TAB>来自动补全命令的,如果不补全回车的话,命令唯一则也行。
3)输入“<Return>”
回车<Return>之后,提示要你输入要替换的字符。
4)输入"要替换的字符"
5)输入"<Return>"
回车<Return>之后,提示要你输入要替换成的字符。
6)输入"要替换成的字符"
7)输入"<Return>"
*自动保存功能:
emacs提供自动保存功能,例如当你修改“hello.c”文件的时候,它会生成一个“#hello.c#”文件(称做自动保存文件),并且周期的向这个文件写入最新数据,当你保存文件的时候,emacs才会删掉这个文件。当你机器挂掉的时候,你可以利用这个文件进行恢复。
*利用自动保存文件恢复文件:
假设文件hello.c的自动保存文件是#hello.c#恢复步骤如下:
1)输入"M-x"
这样,提示你输入恢复命令,可以用<TAB>自动补全。
2)输入"recover<TAB>"
这样会自动补全为recover-file
3)输入"<Return>"
4)输入"hello.c"
这里输入的就是要恢复的文件名,而不是#hello.c#
5)输入"yes"
这里根据提示输入"yes"表示确认恢复。
*转换主要显示模式:
假设转换为fundamental模式,步骤如下:
1)输入“M-x”
2)输入“fundamental<TAB>”
这里输入的是模式的名称,利用<TAB>自动补全。
3)输入“<Return>”
这样就把模式转换成为fundatmental模式了。emacs中有几种不同的主要模式,它们用来编辑的不同类型的文本,当前所处的主要模式的名称显示在底部的状态栏上面,不同的主要模式中的命令行为稍微不同。例如:text模式在M-f和M-b的时候,把顿号也视为单词的一部分,而fundatmental模式把顿号视为分隔符号等等,不过命令大体行为是一样的。
*查看你当前主要模式下的帮助文档:
输入"C-h m"
*打开关闭次要模式:
假设打开关闭的是Auto Fill mode,步骤如下:
1)输入"M-x"
2)输入"auto-fill-mode"
3)输入"<Return>"
回车之后,就会打开或者关闭auto-fill-mode模式(切换),这个模式在human-language text编辑中非常有用,该模式为on的时候,当一行单词数目过多的时候,它会在最后一个单词尾(注意就是必须要整个单词接空格的那种)自动插入换行而不是续行符号。
既然有主要模式,当然也有次要模式,次要模式并不能替代主要模式,它们只是一些类似“选项”的东西来稍微改变主模式的行为,能够独立于主模式或者其它次要模式来打开和关闭。
*改变一行的填充(不明白?):
假设改变为20,输入如下:
1)输入"C-u 2 0 C-x f"
2)输入"M-q"
这样设置后auto-fill-mode不管用了,想要重新re-fill,要在当前段内输入M-q。 会发现该段变成了每行20个字符。
##########阅读至850行
#######
*搜索:
假设搜索“cursor”,步骤如下:
1)输入 “C-s”
这时候,底部会出现一个提示,提示你输入要搜索的字符串
2)输入“<你要搜索的字符串>”
这时候,你会发现,随着你的输入,emacs会高亮相应的匹配并且光标向后跳到最近匹配,当你搜索的时候删除一个字符,emacs会跳到上次光标搜索的单词处(少一个字符的),当删成了空的时候,应该光标就跳回到最开始你搜索之前的位置了。
3)输入"C-s"
这样会把光标跳到下一个匹配的字符串。
4)输入"<Return>"
回车之后,会结束搜索(下次连续两个"C-s"会继续搜索上次的搜索字符串)。
注意,有的系统会把"C-s"解释为锁屏,而不等把命令传给emacs,这时你可以按C-q停止锁屏,然后查看文档的“Spontaneous Entry to Incremental Search”部分。
*反向搜索:
方法同“搜索”的方法,不过把"C-s"改成了"C-r"
*把当前光标及所在行设置为屏幕中第一行:
输入"C-u 0 C-l"
这里是小写L不是1。
*分割窗口:
输入“C-x 2”
这样会水平把当前窗口分割成为两个,可以两个窗口显示不同的文件。
*光标在当前窗口,给底部的窗口翻页:
输入“C-M-v”
或者输入“<Esc> C-v”
这里,emacs处于水平分割为两个窗口的状态,当前光标在上面的窗口中,然后这个命令会给下面的窗口翻页;如果光标在下面的窗口中会给上面的窗口翻页;注意如果你没有M控制键(就是Alt)那么你要实现这个功能就用第二个方法,先输入<Esc>再C-v。
*在分割的上下两个窗口间切换:
输入“C-x o”
这样,光标会在上下两个窗口之间切换。
*分割一个窗口载入另外一个文件:
输入“C-x 4 C-f <你的文件名>”
*当你处于recursive edit level的时候,你不能够利用C-g来取消命令了,那么你需要利用<Esc><Esc><Esc>(或者更多次)来取消,据说这个模式下会用方括号把模式括起来,例如用[(Fundamental..)]替代(Fundamental)但是实际上我看似乎不是这样啊?
##########阅读至995行
#######
*如何获得更多的帮助:
输入“C-h ?”
或输入“M-x help <Return>”
一般用第一个,如果第一个不好用,就用第二个,<Return>表示回车。
*查看某个命令按键或者命令次序简单的帮助:
假设查看C-p的信息:
输入:"C-h c C-p"
这里,会显示一条描述该命令(C-p)的简短信息。关键是先输入"C-h c",再输入命令。
*查看某个命令按键或者命令次序详细的帮助:
假设查看C-p的信息:
输入:"C-h k C-p"
这里会显示该命令(C-p)的详细信息。关键是输入“C-h k”,再输入命令。
##########阅读至1050行
#######
20090808
*查找一个函数的功能:
输入“C-h f”
然后输入一个特定的emacs函数。
*列出部分匹配:
输入"C-h a"
之后,输入一个词,会列出包含这个词的所有命令(meta键激起的)
*在线info手册:
输入"C-h i"
这样,会打开info如果查看emacs输入“m emacs”,如果不知道作甚么,那么输入'?'可以显示一些info基本的操作。
来源:http://blog.chinaunix.net/uid-9525959-id-2001558.html
Emacs简易教程的更多相关文章
- 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程
今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:) 使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...
- JavaScript简易教程(转)
原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...
- 文件上传利器SWFUpload入门简易教程
凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...
- 【转】Delphi内嵌ASM简易教程
Delphi内嵌ASM简易教程 作者:heiying2006-03-19 18:33分类:默认分类标签: 前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入 ...
- 学习Emacs系列教程
emacs最简单入门,只要10分钟 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...
- Ant 简易教程
转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...
- Intellj IDEA 简易教程
Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...
- MetaProducts Offline Explorer使用简易教程
MetaProducts Offline Explorer使用简易教程 by windtrace 20170419 最近想下载一个网站上的内容打包成chm文件,以便离线浏览,webzip太长时间不更 ...
- Zabbix实战-简易教程系列
一.基础篇(安装和接入) Zabbix实战-简易教程--总流程 Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...
随机推荐
- 织梦(dedecms) 5.7 /plus/car.php sql注入0day
测试方法: @Sebug.net dis本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! <?php $host=$argv[1]; $path=$argv[2]; $ ...
- Jquery 表单操作
文本框,文本区域: 获取值: 1.$("#txt").attr("value"); 2. $("txt").val(); 单选按钮: 获取值 ...
- js通过alert查看对象或数组内容
var arr=new Array("Saab","Volvo","BMW"); for(i in arr ){ alert(i); //获 ...
- Powerdesigner自定义DBMS(以derby数据库为例)
Powerdesigner自定义DBMS Powerdesigner以下简称PD.PD默认支持的DBMS不够用时,我们就需要自己定义了.以apache derby数据库为例.1.DBMS的定义文件PD ...
- 移动端Web开发注意点
不用考虑浏览器兼容性 移动端开发主要对象是手持设备,其中绝大部分是IOS和Android系统,so,在开发此类页面时不必纠结IE和其他一些2B浏览器的兼容性,webkit是本次开发重点. 当然,不同版 ...
- IOC和AOP的基础原理
IoC(Inversion of Control)就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控.这也就是所谓“控制反转”的概念所在.控制权由应用代码中转到了外部容器,控制权的转移是 ...
- Server Application Unavailable出现的原因及解决方案集锦
iis ServerAppl 共存 应用程序池 站点 在Asp.net站点中经常出现这种提示 Server Application Unavailable The web application y ...
- UVa 11462 Age Sort
解题报告:给若干个居民的年龄排序,年龄的范围在1到100之间,输入的总人数在0到200W.这题要注意的输入的文件约有25MB,而内存限制为2MB,所以如果人数是像200W这样多的话,甚至都不能把它们都 ...
- Stanford机器学习---第一讲. Linear Regression with one variable
原文:http://blog.csdn.net/abcjennifer/article/details/7691571 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- tornado--之cookie自定义(还有session)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhAAAAHzCAIAAAD+WrNvAAAgAElEQVR4nOy993cTV7/vf/6qu865ob