1.编辑文件前端
C-x C-f 打开新文件 C-x C-v 来换一个 C-x i 在文件中最佳文件,如把两个文件合并一块儿 C-x C-s 保存 C-x c-c 退出 C-x C-w 另存 C-/ 撤销 C-x u redo C-g 撤销命令 C-h k (command)command的帮助 C-o 插入空行 C-x C-o 删除空行 C-x z 前面输的命令 再按z则继续以前的命令 C-M-v 下滚动另外一个窗口 C-M-S-v向上滚动另外一个窗口 C-x h 全选
2.多窗口正则表达式
C-x 2 垂直拆分窗口 C-x 3 水平拆分窗口 C-x o 多个窗口中切换 C-M-v 滚动下一个窗口 C-x 4 b 操做另外一个窗口 C-x 0 关闭当前窗口 C-x 1 关闭其它全部窗口 C-x 4 0 连窗口打开的缓冲一并关掉
3.帮助shell
C-h i M-x info 8.1 h 对于info的帮助 8.2 d 回到根部 8.3 ? 相关命令 8.4 q 离开info 8.5 m 寻找相关帮助 8.5.2 n 下一个节点 p 上一个节点 u 上一层节点 l last节点 b 文件最前端 SPC 卷动屏幕
4,插入代码函数
C-p 向上一行 C-n 向下一行 C-f 向前一个光标 C-b 向后一个光标 M-f 向前一个单词 M-b 向后一个单词 C-a 行首 C-b 行尾 M-a 句首 M-b 句尾 C-v 向下一页 M-v 向上一页 C-M-v 另外一个窗口向下一页 C-M-V 另外一个窗口向上一页 M-< 文件头 M-> 文件尾 C-l 光标位置置于屏幕中间 C-u n 或 M-n 重复执行n次后继命令
5,复制黏贴spa
M-w 复制 C-w 剪切/删除 C-y 粘贴
6,删除code
C-d 删除光标上的字符 DEL 删除光标前的字符 M-d 删除光标后的单词 M-DEL 删除光标前的单词 C-k 从光标位置删除到行尾 C-S-Backspace 删除当前行 C-y 恢复删除最近的一个 M-y 循环恢复删除上一个
7,简单查找替换regexp
C-s 向前递增查找 C-r 反向递增查找 C-s C-w 向前递增查找,把光标所在的单词做为查找对象 C-r C-w 反向递增查找,把光标所在的单词做为查找对象 replace-string 查找替换光标后全部的内容 M-% 查询替换操做
对于M-%,须要注意的是其相关的一些操做:对象
SPACE或y 用新字符串替换原来的,并进入下一个位置 DEL或n 不替换,进入下一个位置 . 在当前位置作替换后退出查询-替换操做 , 替换,并显示替换状况(再按空格或y进入下一个位置) ! 对后面的内容所有进行替换,再也不提问 ^ 返回上一个替换了的位置 RETURN或q 退出查询替换操做 C-r 进入递归编辑状态 C-w 删除此处内容并进入递归编辑状态(好进行其余修改) M-C-c 退出递归编辑状态,继续完成查询-替换操做 C-] 退出递归编辑状态和查询替换操做
8,正则表达式查找与替换blog
C-M-s Return 向前查找正则表达式 C-M-r Return 反向查找正则表达式 C-M-s 向前递归查找正则表达式 C-M-r 反向递归查找正则表达式 query-replace-regexp 查询-替换正则表达式 replace-regexp 无条件替换正则表达式(慎用)
9,文本块操做递归
C-@ 标记文本块的开始 C-x C-x 互换插入点和文本标记的位置 M-h 标记整个段落 C-x C-p 标记整个页面 C-x h 标记整个缓冲区
10,Buffer 管理
C-x C-b 进入buffer管理窗口
M-p 历史中的前一条
M-n 历史中的后一条
Ctrl-x,Ctrl-q激活解除锁定
11,在C/C++代码中的操做
M-a 移动到当前语句的开始 M-e 移动到当前语句的末尾 C-M-a 移动到当前函数的开始 C-M-e 移动到当前函数的结尾 M-q 若光标在注释文本中间,则进行段落重排,保留缩进和前导字符 C-M-h 把光标放在当前函数开头,把文本块标记放在函数结尾, 即把函数整个选做为一个文本块。 C-c C-q 对整个函数进行缩进 C-x h 选定整个buffer, 而后C-M-\能够对代码进行从新排版 C-c C-u 移动到当前预处理条件的开始位置 C-c C-p 移动到上一个预处理条件 C-c C-n 移动到下一个预处理条件 M-; 对当前行进行注释 C-x C-x 快速返回移动前的光标位置 C-c C-c 对一块代码进行注释;取消注释用命令 uncomment-region
12.shell
M-x shell 启动shell C-c C-c 中断命令 M-! Emacs提示输入一条准备执行的命令,Emacs会把执行接过放到*shell command output*缓冲区中。 M-| Emacs会提示输入一条shell命令,Emacs会对选中区域执行该shell命令。 C-u M-! + command Emacs会把命令执行的结果放到当前的缓冲区中。 M-p 检索前一条命令 M-n 检索后一条命令 Tab 命令补完