Emacs快捷键学习(未完待续)

C-就代表CTRL键,M-就代表ALT键

 虽然这些按键都可以用方向键和PageUp和PageDown按键代替,但是

(1)它们在任何键盘上都能用。

(2)当你熟练使用 Emacs 之后,你会发现用这些组合键比用方向键要快得多,因为你
的手不需要离开打字区。

(3)一旦你习惯了使用这些组合键,你也可以很容易地
适应其它更高级的光标移动命令。


移动到屏幕中央

C-l,当前行居于屏幕中央,并且光标移动到屏幕中央


上下左右的移动

                             上一行 C-p
                                  :
                                  :
            向左移 C-b .... 目前光标位置 .... 向右移 C-f
                                  :
                                  :
                             下一行 C-n

P B F N分别代表p(previous),b(backward),f(forward),n(next)

而要一个单词一个单词的移动M-b,M-f(英文中是一个单词一个单词移动,中文是移动到下一个标点符号),这里没有M-p,M-n了。

移动到行首和行尾,移动到句首句尾

C-a,C-e移动到行首和行尾,M-a,M-e移动到句首和句尾

通常的惯例是:META 系列组合键用来操作“由语言定义的单位(比如词、句子、段落)”,

而 CONTROL系列组合键用来操作“与语言无关的基本单位(比如字符、行等等)”。

也就是说同样的按键,如果由C换成M则变成对词、句子、段落的操作,否则是对字符、行的操作。


移动到所有文字的最前部和最尾部

M-<:最前部

M->:最尾部

注:<和>要按住shift键才能输入,所以这里相当于M-shift-,和M-shift-.


为指令设置参数

像上面的上下左右都支持数字参数,可以重复执行多次此命令。

C-u n 命令(或者想要重复的字符)表示重复n次命令或者字符。

例如C-u 8 C-f表示向右移动8个字符

C-u 8 *表示输入8个*


删除指令

Backspace:删除光标前一个字符

C-d/Delete:删除光标后一个字符

M-Backspace:移除光标前的一个词

M-d:移除光标后的一个词

文档说移除和删除是不一样的,移除可以通过C-y"召回",但是删除却不能召回。但是实际使用中,如果打开C-z的Undo,则没有什么不同。

C-k:移除从光标到"行尾"的字符

M-k:移除从光标到"句尾"的字符

这些指令都可以配合C-u 数字 指令来重复使用。

使用C-@,也就相当于C-Shift-2来标记选中字符,使用C-@后,再移动光标即可选择字符,使用M-w删除所选择的字符。其实也可以使用Backspace删除。

召回指令

C-y是召回上一次删除的内容,但是他跟C-z不一样,不管你按几次C-y,它都只能恢复最后一次删除的内容,如果想要恢复这之前的内容,就需要使用M-y,每按一次就会恢复这一次恢复的上一次删除的内容,相当于不停的按C-z,但也有区别。

召回被删除的字符,会直接恢复在光标所在的位置,如果删除字符之后,光标移动了位置,那么召回的字符不在处于原有的位置。这有点像剪切的功能。

如:abcdefg

     hijklmn

这样两行文字,先用C-k删除第一行,在把光标移动到第二行,然后用C-y召回,那么最后结果应该是

abcdefghijklmn


命令扩展集

C-x:字符扩展,你可以在之后输入一个字符或者另一个组合键

M-x:命令扩展,可在之后输入一个命令

常用的:

C-x C-f 文件名:查找文件并打开

C-x C-s:保存文件

C-x s:保存所有缓冲区中的文件

C-x C-b:列出所有缓冲区

C-x 1:只保留一个缓冲区

C-x u:撤销命令

M-x之后可以接一个命令,例如M-x replace-string 可以输入M-x repl s按TAB就会自动补全,可实现全局替换字符的功能。

如M-x replace-string 回车→输入要查找的字符→替换的字符 回车即可。


主(major)模式和辅(minor)模式

主模式提供对不同的编辑语言的各种便利。如一般都是Fundamental模式,还有text mode还有cc mode等,可以输入C-h m查看各种主模式和辅模式的说明。

一次只能一种主模式,但是辅模式却可以开启多个,使用M-x 模式名称 回车即可开启或关闭辅模式。


搜索模式

C-s进入搜索模式(向前搜索),C-r(向后搜索)。

输入C-s 显示I-search 输入字符,Emacs是边输入就边搜索的,连续按C-s就会继续搜索下一个。在连续按下几个C-s之后,如果想返回上一个搜索,可以直接按Backspace或者按C-r两次往回搜索,直到回到第一个搜索的关键字的位置,再按Backspace就是删除搜索字符串了。

可以使用C-g退出搜索模式,也可以使用回车退出搜索模式。但是C-g是回到开始搜索的地方,而回车则停留在最后搜索的地方。


多窗口指令

使用C-x 2或者3可以将窗口裂变成2或者3个。

使用C-M-v可以滚动另外的窗口。这样就可以在不更换当前窗口的情况下查看其它窗口的文字。

使用C-x o命令可以切换到其他的窗口。

使用C-x 1为关掉其他窗口,只保留当前窗口。


获取帮助

使用C-h获取帮助,具体后来接什么可以直接查看说明。如果不知道命令,可以使用C-h ?查看有哪些命令。

原文地址:https://www.cnblogs.com/cxjchen/p/3068294.html