上回开了个头,简单的介绍了Emacs的一些基本常识,这回继续说基本常识,怎么移动你的光标。可能有人会说,这上下左右键不是很好用吗,还用你来讲。呶,Emacs的强大在于你能够只使用键盘左边那堆键来完成任何事情(不包括顶上的ESC和Function),这也是Emacs的设计宗旨。
  为了试验这些按键,大家在进入Emacs时选择页面中间的Emacs Tutorial,这里面可以随便乱按不用担心出什么岔子。

一、基本导航
  看下面这张图片:
  

  可以这么记,p-previous,n-next,b-backward,f-forward。这里所说的字符对于E文,就是一个字母,而中文是一个汉字,其实Emacs对中文支持还是很厚道的,后面慢慢可以看出来。不过在这儿我个人感觉这个光标移动没有Vim方便,别人就HJKL,一个键就能动了,这需要两个,Ctrl 有时还觉得按着很别扭,不太和谐呀。
  在按C-n 时,如果越过了页尾,不像一般Windows编辑器是往下滚一行,而是往下滚半夜,当前光标会置于页面中间。C-p 也是一样的。
  另外两个使用较多的是C-v 往下翻页,M-v 往上翻页。呃,还有一个C-l 就是把当前行提到页面中间,感觉Emacs对页面中似乎情有独钟啊。

二、中级导航
  按字符移的上节说了,然后说按单词移动:
  M-f 向前移动一个单词,Emacs理解的中文单词是两个标点符号之间的东西,所以中文就是移到下一个标点符号的位置。往回是M-b ,向后移动一个单词。
  C-a 移动到行首,C-e 移动到行尾。
  M-a 移动到句首,M-e 移动到句尾,在中文中一般就是跑到句号的位置,这里我不得不说一下,现在很多年轻人写文章有一逗到底的习惯,就只在文章最后加个句号,如果用Emacs来看你的文章,一个M-e 啥都不用干了。作为一个有一定文学素养的人,在此我严厉反对这种写文章的作风,不和谐。
  M-} 移动到下一段, M-{ 移动到上一段。
  还有两个跑的更快的导航,M-< 移到文档首,这里要注意是小于符号<,不是逗号, ,所以我们是按Alt + Shift + ,  切记。移到文档尾是M->。
  C-x [ 和 C-x ] ,分别是往上一页和往下一页。这里页是由分页符控制的,在Emacs Tutorial 中是没有分页符的,所有这两个键会跑到文档头和文档尾去。
  例图:

  阴影处是当前光标的位置,其它箭头所指是按相应键后光标的位置。

三。高级导航
  可以这么来看基本导航是普通人用的,中级导航是高手采用的,高级导航是砖家、叫兽用的。
  M-r 移动到页面中间行首位置,holly shit,又是页面中间,真XX阴魂不散。
  M-x goto-char (n),这个比较复杂,先按M-x,然后空格输goto-char回车,另外Emacs有Tab键补全功能,大家可以试试,如果有多个选项会有提示,最后输入一个整数。这个东西会移动到从头数第n个字符的位置,我估计不会有人变态到能记住每个字是第几个字符。
  M-g M-g [n],按两次M-g,不用回车,提示输入一个数字,移动到指定行n,两个M-g,也可以输M-g g 。
  还有一个比较罕见的,C-x C-n, 这个是设置当前列为目标列。这是什么意思呢,本来我们按C-n 和C-p 时,光标会往下或往上移一行,而列的位置就是当前光标列的位置,除非下一行列没那么多(就是字符没那么多),光标会到距当前列最近的列。而我们可以用这个组合键重新设一个目标列,这样在按C-n 和C-p 时,光标会跑到我们设的目标列上。如果你不幸按了,而且又不习惯,可以使用C-u C-x C-n 来取消目标列设置。补充一点,这两个命令都是禁用命令,是Emacs考虑大家多半不会用,而且比较怪的命令,所以通常就禁用了,你不小心调出时会给出提示问你是否需要继续。就像这个样子:

  大家按个空格稍微试下就行了。
  最后还有两个重复命令:
  M-n, n是数字,意思是重复下个命令n次,比如M-3 C-f,就是向前移三个字符。
  C-u n,n还是数字,也是重复下个命令n次。 如果省略n,就是4次。按两次C-u,就是重复16次。

小结:

 

按键

命令

作用

C-f

forward-char

向前一个字符

C-b

backward-char

向后一个字符

C-p

previous-line

上移一行

C-n

next-line

下移一行

M-f

forward-word

向前一个单词

M-b

backward-word

向后一个单词

C-a

beginning-of-line

移到行首

C-e

end-of-line

移到行尾

M-e

forward-sentence

移到句首

M-a

backward-sentence

移到句尾

M-}

forward-paragraph

下移一段

M-{

backward-paragraph

上移一段

C-v

scroll-up

下移一屏

M-v

scroll-down

上移一屏

C-x ]

forward-page

下移一页

C-x [

backward-page

上移一页

M-<

beginning-of-buffer

移到文档头

M->

end-of-buffer

移到文档尾

M-g g n

goto-line

移到第n行

(none)

goto-char

移到第n个字符

C-l

recenter

将当前位置放到页面中间(Emacs最喜欢的地方)

M-n

digit-argument

重复下个命令n次

C-u n

universal-argument

重复下个命令n次,n默认为4

注:这里命令这列就是按了M-x后输的东东。

coming from: http: //www.cnblogs.com/robertzml/archive/2009/09/14/1566435.html

转载于:https://www.cnblogs.com/wujichaomx/p/3746644.html

[转]Emacs 系列教程相关推荐

  1. 学习Emacs系列教程

    学习Emacs系列教程 :目录 学习Emacs系列教程(一):基本使用 学习Emacs系列教程(二):导航 学习Emacs系列教程(三):编辑(1) 学习Emacs系列教程(四):Minibuffer ...

  2. 学习Emacs系列教程(一):基本使用

    前言的前言:本人也是初学Emacs,之前对Vim也只接触了一点,所以也谈不上对哪个更喜欢,也分不出哪个更好.写这个教程的目的一是方便自己更好的学习Emacs, 二是没事找事.如果有专家路过还望多指点. ...

  3. 《⑨也懂系列:GNU Emacs安装教程Ver.2》世界著名的顶级全能文本编辑器

    备注:我的全部文章首发在自己的独立博客(http://rsreland.net)上,编程相关文章会同步到这里,不过文章的维护是优先那边.然后本篇文章的地址是:http://rsreland.net/a ...

  4. Android Studio系列教程三:快捷键

    原文出处:http://stormzhang.com/devtools/2014/12/09/android-studio-tutorial3/ Android Studio 1.0正式版发布啦 今天 ...

  5. android studio代码教程,史上最详细的Android Studio系列教程三

    Android Studio 1.0正式版发布啦 今天是个大日子,Android Studio 1.0 终于发布了正式版, 这对于Android开发者来说简直是喜大普奔的大消息啊,那么就果断来下载使用 ...

  6. php语+言教程,写给thinkphp开发者的laravel系列教程(九)打印数据-Fun言

    php这种脚本语言调试起来是很方便的: 大多时候看报错打印一下数据就知道问题所在了: php 内置了常用打印函数 print 和 var_dump : 但是打印出来的样式实在让人目瞪狗呆: think ...

  7. php读取西门子plc_基于Socket访问西门子PLC系列教程(二)

    本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket ...

  8. asp.NET自定义服务器控件内部细节系列教程四

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  9. python技术晨讲_python系列教程14

    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家! 好了,是开始 ...

最新文章

  1. 自然语言处理领域重要研究及资源全索引!
  2. php验证码内置函数,刚写了一个PHP的高效验证码函数 | 学步园
  3. 《网管员必读——网络测试、监控和实验》试读样章下载
  4. webpack2.x基础属性讲解(二)
  5. HDFS依然是存储的王者
  6. 浪潮云完成6亿元B轮融资,正推进上市;VMware收购AI初创公司Bitfusion;小爱同学App在苹果应用商店下架……...
  7. 2.6、ConfigurationClassPostProcessor 解析配置文件
  8. iOS底层探索之类的结构—cache分析(上)
  9. C#高级编程----反射的小结
  10. CE 自带Tutorial -第9关
  11. 人工智能在肿瘤成像中的临床挑战和应用
  12. zzulioj 1183: 平面点排序(一)(结构体专题)
  13. Android课题研究的主要观点,二、本课题的研究目标、研究内容、主要观点和创新之处.doc...
  14. 从阿里云购买、域名购买、SSL免费购买到SSL集成开发(网络编程安全三)
  15. 银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法
  16. 康福中国服务器位置,康福中国camfrog服务器管理命令有哪些?
  17. 内存卡弹出使用驱动器中的光盘之前需要将其格式化实测解决教程
  18. everything搜索指定路径下的多个文件
  19. HTML小游戏12 —— 汽车赛道飙车游戏(附完整源码)
  20. linux串口读取 GPS模块程序

热门文章

  1. python post提交数据
  2. tp3.2 连接两个数据库
  3. Create Geometry from WKT(转载)
  4. Codeforces #264 (Div. 2) D. Gargari and Permutations
  5. 安装好android的adt以后重启eclipse,但是没有创建AVD的图标
  6. Windows多线程编程总结
  7. WPF 触发器Triggers
  8. 从「林」开始: imx51-linux-rt3070ap-dhcpd
  9. 大前端开发者需要了解的基础编译原理和语言知识
  10. 《移动平台开发》第3周学习总结