如何阅读
以下emacs 命令中
- C 代表Contral 键,M 代表Alt 键,ret 是回车。C-x 的含义是按住Contral 再按x
- 空格用于分隔控制字符和命令,其它字符是emacs 命令,按顺序输入。
- 尖括号<> 当中的内容不是emacs 命令,按语义输入。
- 斜杠/用于隔开多个类似的命令和描述。
常用命令
打开文件
C-x f <FilePath> ret
多窗口间切换(窗口1... 窗口N)
C-x 1...<N>
多窗口间切换(上一个/下一个)
C-x 左/右箭头键
关闭当前Buffer
C-x k ret
保存
C-x C-s
退出
C-x C-c
光标上、下、左、右移动
C-p/C-n/C-b/C-f
光标移动到行首、行尾
C-a/C-e
光标前/后移动一个单词
M-f/M-b
光标前/后移动一个句子
M-a/M-e
光标前/后移动一个段落
M-{/M-}
光标到buffer 首/尾
M-</M->
光标到第N行
M-g-g N ret
删除后一个字符
Del/C-d
删除前一个单词
M-Del/M-Backspace
删除后一个单词
M-d
删除到句首/尾
M-k/C-x Backspace/Del
删除到行尾
C-k
将当前行与上一行进行合并,空格分隔
M-^
类似于vi 的Shift+j ,不过合并的方向相反。
向前/后搜索
C-r/C-s
向上/下翻页
M-v/C-v
光标行居中
C-l
选择一个范围
C-空格
或者
C-2个空格
上面的命令将当前光标所在位置设为选择起始点,然后移动光标,移动到那就选择到那,直接执行命令即可。后面的用法,会高亮选中的区域,更利于识别。
也可以用鼠标滑亮所选区域。
注:如果输入法占用了“C-空格”的快捷键,最好改成其它。
复制所选文本
M-w
剪切所选文本
C-w
插入^G或其它控制字符
C-q C-G
dos2unix
C-x ret f unix ret
刷新一个文件内容的tricky 方法(reload)
C-x C-v ret
字符替换
M-x replace-string ret <OldStr> ret <NewStr> ret
替换行尾为换行(正则表达式)
M-x replace-regexp ret $ ret C-q C-J ret
以上2个命令作用范围是当前光标至buffer 末尾。
范围替换
高亮选中范围 M-x replace-string ret <OldStr> ret <NewStr> ret
列替换
选中范围 C-x r t <NewStr> ret
列删除
选中范围 C-x r d
列剪切
选中范围 C-x r k
列粘贴
C-x r y
替换Tab为空格
选中范围 M-x untabify ret
删除文件所有行尾空格
M-x delete-trailing-whitespace ret
批量大小写转换
选中范围 C-x C-u/C-l
光标后一个单词大小写转换
M-u/M-l
光标所在单词首字母变为大写
M-c
版本比较 diff
C-x v =
版本提交 commit
C-x v v <"message here"> C-c C-c
命令帮助搜索
C-h a <CmdStr>
DB2 相关命令
建立一个db2 进程,并将当前emacs 实例中的buffers 与其关联
M-x sql-db2 ret
将当前buffer 与emacs实例中已经存在的db2 进程进行关联
M-x sql-set-sqli-buffer ret
在db2 进程已经建立并且关联之后,可以使用以下命令执行db2 CLP命令或SQL语句。
执行整个buffer的语句
M-x sql-send-buffer
执行选中的语句
选中范围 M-x sql-send-region
执行光标所在段落的语句
M-x sql-send-paragraph
段落的默认分隔符是空行(或者仅含有空格和TAB)。
在命令编辑区编辑新语句并执行
M-x sql-send-string
以上执行语句的部分命令有快捷键可调用,也可以使用global-set-key 命令将其更改为自己习惯的按键。


