Emacs札记
移动命令
C-f forward 向右移动一个字符
C-b backward 向左移动一个字符
C-p previous 向上移动一行
C-n next 向下移动一行
C-a 移动到行首
C-e end 移动到行尾
C-l 重绘屏幕并将光标置于屏幕的中央
C-u 0 C-l 将光标所在行置于窗口顶部
C-x 1 只保留一个窗格(也就是关掉其它所有窗格,保留的窗格是当前光标所在的窗格)
C-v 向前移动一屏
M-v 向后移动一屏
M-b 向左移动一个单词【中文则是针对标点符号】
M-f 向右移动一个单词
M-a 移动到句首
M-e 移动到句尾
C-u 8 C-b 向左移动八个字符
C-u 8 M-v 向上移动八行 【滚动的是文字】
C-u 8 C-p 向上移动八行 【滚动的是光标】
C-u 8 *,这将会在光标所在处插入 ********
C-x C-f 创建一个新文件
C-g 用来取消数字参数或只输入一半的指令
被禁用的命令(DISABLED COMMANDS)
有一些 Emacs 命令被“禁用”了,以避免初学者在不了解其确切功能的情况下误用而造成麻烦。如果你用到了一个被禁用的命令,Emacs 会显示一个提示消息,告诉你这个命令到底是干什么的,询问你是否要继续,并在得到你的肯定之后再执行这命令。如果你真的想用这条命令,在 Emacs 询问你的时候应该按空格。一般来说,如果你不想用,就按“n”。
删除命令
<backspace> 删除光标前一个字符
C-d 删除光标一个字符
M-<backspace> 移除光标前的一个词 【中文则是针对标点符号】
M-d 移除光标后的一个词
C-k 移除光标到“行尾”间的字符
M-k 移除光标到“句尾”间的字符
C-@ 光标移动到另一端 C-w 移除两点间的所有文字
“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以找回
来,而被删除的就不行了
M-y 召回最近移除的东西
C-y 召回最近一次移除的东西
C-x u 撤销命令【数字参数对于 C-_ 和 C-x u 的意义是执行撤销的重复次数】
文件(FILE)
C-x C-f 寻找一个文件
C-x C-s 储存这个文件
C-z 可以暂时离开 Emacs
缓冲区(Buffer)
你可以用 C-x C-f 找到并打开第二个文件,但第一个文件仍然在 Emacs 中。要切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同时打开多个文件。
C-x C-b 列出缓冲区
C-x 1 离开缓冲区列表
C-x s 保存所有改变的缓冲区
不管存在多少缓冲区,任何时候都只能有一个“当前”缓冲区,也就是你正在编辑的个。如果你想编辑其它的缓冲区,就必须“切换”过去。上面讲过,用C-x C-f是一种办法。不过还有一个更简单的办法,那就是用 C-x b。用这条命令,你必须输入缓冲区的名称。
命令集扩展(EXTENDING THE COMMAND SET)
C-x 字符扩展。 C-x 之后输入另一个字符或者组合键。
M-x 命令名扩展。 M-x 之后输入一个命令名。
自动保存(AUTO SAVE)
如果你已经修改了一个文件,但是还没来得及存盘你的计算机就罢工了,那么你所做的修改就很可能会丢失。为了避免这样的不幸发生,Emacs 会定期将正在编辑的文件写入一个“自动保存”文件中。自动保存文件的文件名的头尾各有一个“#”字符,比如你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫“#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。
M-x recover file<Return> 来恢复你的自动保存文件
Other
C-x 2 两个窗格
用下面的方法可以在一个新开窗格里打开文件:输入C-x 4 C-f,紧跟着输入一个文件名,再用 <Return> 结束。 可以看到你指定的文件出现在下方的窗格中,同时光标也跳到了那里。 输入 C-x o 回到上方的窗格,然后再用 C-x 1 关掉下方窗格。