本文共 3932 字,大约阅读时间需要 13 分钟。
================================================================================ (1)Emacs基本命令 ================================================================================ 1)基本命令: C-g 取消未完成的命令 C-z 挂起Emacs(然后用fg命令或%%调出) C-x C-c 退出Emacs -------------------------------------------------------------------------------- 2)与文件操作有关的命令: C-x C-f 查找文件并且在新缓冲区中打开,如果文件不存在,则创建一个文件 C-x C-s 保存当前buffer到文件 C-x s 保存所有buffer到文件 C-x C-w 把缓冲区内容写入一个文件 进阶命令: C-x C-v 读入另一个文件替换掉用C-x C-f打开的文件 C-x i 把文件插入到光标的当前位置 -------------------------------------------------------------------------------- 3)与光标移动操作有关的命令: C-f 光标前移一个字符(右) C-b 光标后移一个字符(左) C-a 移动到行首 C-e 移动到行尾 C-p 光标前移一行(上) C-n 光标后移一行(下) C-v 屏幕上卷一屏 M-v 屏幕下卷一屏 C-l 重新绘制屏幕,当前行放在画面中心 M-< 前移到文件头 M-> 后移到文件尾 M-g g 跳到指定的行 进阶命令: M-f 前移一个单词 M-b 后移一个单词 M-e 前移一个句子 M-a 后移一个句子 M-} 前移一个段落 M-{ 后移一个段落 -------------------------------------------------------------------------------- 4)与文本标记和选择有关的命令: C-@ 标记文本块的开始(或结束)位置 C-x h 标记整个缓冲区 进阶命令: M-h 标记段落 C-x C-p 标记页面 C-x C-x 互换插入点和文本标记的位置 -------------------------------------------------------------------------------- 5)与文本复制和粘贴有关的命令: C-w 剪切文本块 M-w 复制文本块 C-k 从当前位置剪切到行尾 C-u 0 C-k 从当前位置剪切到行首 C-y 粘贴剪切环中指定槽位的内容 M-y 移动到剪切环中的下一个槽位 进阶命令: M-k 剪切从光标到句子的结尾处的内容 M-z 删除从光标到指定的字符之间的所有文本 -------------------------------------------------------------------------------- 6)与文本删除有关的命令: C-d 删除光标位置上的字符 DEL 删除光标前面的字符 M-d 删除光标后面的单词 M-DEL 删除光标前面的单词 M-k 删除光标后面的句子 C-x DEL 删除光标前面的句子 M-x kill-paragraph 删除光标后面的段落 M-x backward-kill-paragraph 删除光标前面的段落 -------------------------------------------------------------------------------- 7)与查找操作相关的命令: C-s 向前递增查找 C-r 向后递增查找 C-s C-w 开始递增查找,把光标位置的单词做查找字符串 C-s C-y 开始递增查找,把光标位置到行尾之间的文本做查找字符串 C-s M-y 开始递增查找,将clipboard的内容作为查找字符串 M-x rgrep RET 递归搜索目录中的内容,支持一些预定义的别名,比如ch表示所有的c++代码文件, hh表示所有的c++头文件等等。这个估计是写程序时,最好用的grep命令。 M-x lgrep RET 只搜索当前指定目录中的内容,不会对子目录进行递归搜索。 进阶命令: C-s RET searchstring RET 向前开始非递增查找操作 C-r RET searchstring RET 向后开始非递增查找操作 C-s RET C-w 向前开始单词查找(不受换行符、空格、标点符号影响) C-r RET C-w 向后开始单词查找(不受换行符、空格、标点符号影响) -------------------------------------------------------------------------------- 8) 与编辑缓冲区有关的命令: C-x k 删除缓冲区 C-x b 切换缓冲区 C-x c-b 列出全部缓冲区 C-x C-s 保存当前缓冲区 C-x s 保存全部缓冲区 M-x revert-buffer 刷新当前缓冲区 C-x C-q 把当前编辑缓冲区设置为只读属性 -------------------------------------------------------------------------------- 9) 与窗口有关的命令: C-x 2 分割窗口,上下排列 C-x 3 分割窗口,左右排列 C-x o 在窗口之间移动 C-x 0 删除当前所在的窗口 C-x 1 当前缓冲区满屏显示 C-x 5 1/2/3/0 对frame类似的操作 进阶命令: C-x ^ 拉高当前窗口 C-x { 拉窄当前窗口 C-x } 拉宽当前窗口 -------------------------------------------------------------------------------- 10) 与矩形区块相关的命令: C-x r k 剪切当前的矩形区块 C-x r y 粘贴上一次剪切的矩形区块的内容,将所有的现有文本移动到右边 C-x r d 删除当前的矩形区块 C-x r c 清除当前的矩形区块,使用空白字符替换整个区域 C-x r o 打开当前的矩形区块,使用空白字符填充整个区域 将该矩形区块的所有文本移动到右边 -------------------------------------------------------------------------------- 11) 与寄存器和书签相关的命令: C-x r SPC 将光标保存到寄存器 C-x r j 将光标移动到寄存器中给定的位置 C-x r s 将区域保存到寄存器 C-x r r 将选定的矩形区块保存到寄存器 C-x r i 在光标处插入寄存器的内容 C-x r m 设置一个书签 C-x r b 跳转至书签中所设置的位置 M-x bookmark-delete 删除一个书签 C-x r l 列出所有已保存的书签 M-x bookmark-save 将所有的书签保存到书签文件 ~/.emac.bmk 中 -------------------------------------------------------------------------------- 12)与位置交换操作有关的命令: C-t 交换两个字符的位置 M-t 交换两个单词的位置 C-x C-t 交换两个文本行的位置 进阶命令: M-x transpose-sentences 交换两个句子的位置 M-x transpose-paragraph 交换两个段落的位置 -------------------------------------------------------------------------------- 13)与改变字母大小写操作有关的命令 M-c 单词首字母改为大写 M-u 单词的字母全部改为大写 M-l 单词的字母全部改为小写 -------------------------------------------------------------------------------- 14)其他比较有用的命令: C-u n 或 M-n 重复执行n次后续命令 M-! 执行外部shell命令 M-x shell 模拟shell的buffer M-x term 模拟terminal, C-c k 关闭terminal C-u M-! date 插入当前日期 -------------------------------------------------------------------------------- 15)与帮助有关的命令: C-h t 查看向导 C-h k 查看一个键绑定 (C-h c 也是查看键绑定,但是信息较简略) 进阶命令: C-h i 看Info C-h ? 查看帮助信息 C-h f 查看一个函数 C-h v 查看一个变量 C-h C-f 查看一个函数的Info,非常有用 ================================================================================ 转载地址:http://aktkb.baihongyu.com/