[Emacs] Emacs使用介绍
详细,可参考该文档(转载):Emacs 快速指南 - 原生中文手册
C-x C-c 关闭Emacs会话
C-v/M-v 向前/后翻页
C-n/C-p 光标向下/上移一行
C-f/C-b 光标向前/后移动一个字符
M-f/M-b 光标向前/后移动到该单词末尾(若在空白字符位置时,移动到下一个单词的末尾)
C-a/C-e 光标移动到行开头/末尾
M-a/M-e 光标移动到句开头/末尾
M-</M-> 光标移动到全文开头/末尾
<DEL>/C-d (<DEL>指Backspace)删除光标之前/后的一个字符
M-<DEL>/M-d Kill(与删除不同,可以yanking回来)光标之前/后的一个单词(kill类似于剪切)
C-K/M-k Kill光标所在位置到行/句末尾(kill类似于剪切)
C-u N command 重复执行N次command
C-<SPC> (<SPC>指空格)设置/取消标记【注意,C-<SPC> 往 往被中文用户设定成输入法热键,如果这样,C-<SPC> 就被系统拦截而无法传递 给 Emacs 了,在这种情况下可以使用C-@。】
C-w 配合C-<SPC>使用,用于kill区域(kill类似于剪切)
C-y 用于yanking文本回来(yanking类似于粘贴)
M-y 用于yanking到之前的文本(可以进行多次,yanking到更早的文本)
C-s/C-r 搜索前向/反向
C-g 取消正在编辑/运行的命令
C-l 第一次会使光标所在行居屏幕中心,第二次会居屏幕顶端,第三次会居屏幕底端
C-x 1 只留下当前窗口(当有多个窗口的时候)
C-x 2/3 打开一个窗口(水平/垂直排列)
C-/ 取消之前操作
C-x C-f 查找文件并打开
C-x C-s 保存文件
C-x C-b 列出缓冲区
C-x b 切换当前缓冲区
命令集扩展
C-x 字符扩展。C-x之后输入另一个字符或者组合键
M-x 命令名扩展。M-x之后输入一个命令名
C-x的扩展命令很多,以下是已经学过的:
C-x C-f 寻找文件
C-x C-s 保存文件
C-x C-b 列出缓冲区
C-x C-c 离开Emacs
C-x 1 关掉其它所有窗口,只保留一个
C-x u 撤销
M-x的扩展命令数不胜数,可以通过M-x 命令前缀+Tab 来自动补全并显示出可以使用的扩展命令:
一般来说Emacs会定时自动保存已经在缓冲区编辑过的文件(默认是已打开auto-save-mode扩展命令的),若突然断电或某种原因造成未进行手动保存而关闭,仍能进行文件的恢复,通过
M-x recover file <Return> 来恢复你的自动保存的文件
M-x auto-save-mode<Return> 来开启/关闭自动保存模式
M-x replace-string<Return> 来替换从光标为止开始到文本结尾的所有字符串
M-x make-frame<Return> 打开一个新的窗口
M-x delete-frame<Return> 关闭选中的窗口
查看Emacs帮助:
C-h ? 查看Emacs可以提供哪些帮助
C-h c command 会给出这个命令的简要说明
C-h k command 会给出这个命令的详细说明
C-h f function 解释一个函数
C-h v 显示Emacs变量的文档
C-h a key 相关命令搜索(输入关键词(key),会列出所有包含该关键词的命令,这些命令都可以用M-x来启动)
C-h i 阅读手册(也就是Info)
打开三种不同平台下的c文件,unix,windows,mac平台下的test.c文件,显示如下
可以看出底下显示Mac,Dos分别表示为Mac平台和windows平台下的同样代码的文件区别(由于不同平台所定义的回车(carriage-return)换行(linefeed)符不同,而导致)