emacs常用快捷键

默认分类 · 2009-01-04

1.键绑定功能:

比如要把lctrl键-向右的箭头绑定到切换不同的emacs的tab,做如下操作:m-x global-set-key 回车,按下要绑定的键,回车,tabbar-forward-group,然后

c-x esc esc,把出现的命令复制到.emacs中就可以了

2.基本命令

C-x C-c : 退出Emacs

C-x C-f : 打开一个文件,如果文件不存在,则创建一个文件

C-g : 取消未完成的命令

3.编辑

C-z (redefined): Undo;原来C-z是挂起Emacs(然后用fg命令调出);C-x u 是默认的命令; 移动一下光标,再C-z就可以redo

M-d : 删除光标后的词语

c-t:调换字符

c-m-\:对选定区域进行缩进

4.移动光标

C-v : 向前翻页

M-v : 向后翻页

M-r : 将光标移动到屏幕中间那行

C-a : 移到行首

M-a : 移到句首,从行首到句首之间可能有空格

C-e : 移到行尾

M-e : 移到句尾

M-{ : 向上移动一段

M-} : 向下移动一段

C-right,esc-f : 向前移动一个单词

C-left ,esc-b: 向后移动一个单词

C-up : 向前移动一段

C-down : 向后移动一段

M-< : 移到整个文本开头

M-> : 移到整个文本末尾

M-r : 将游标移到目前视窗的中央

C-u 数字 命令 : 执行多次(数字表示次数)该命令;“M-数字 命令” 也可以

M-gg(M-x goto-line) : 移动到某一行

C-l : 重绘屏幕,效果就是当前编辑行移动窗口中央

5.Buffer 相关

C-x k : 关闭当前buffer

C-x b : 切换到前一个编辑的buffer

C-x C-b : 列出当前所有buffer

C-x C-s : 保存当前buffer

C-x s : 保存所有未保存的buffer,会提示你是否需要保存

C-x C-w : 文件另存为

6.拷贝与粘贴

M-space (redefined): 设置mark; C-@ 是默认命令

C-w (redefined) : 剪切一块区域;如果没有设置mark,则是剪切一行

M-w (redefined) : 拷贝一块区域;如果没有设置mark, 则是拷贝一行

C-k : 从当前位置剪切到行尾

C-y : 粘贴

M-y : 用C-y拉回最近被除去的文本后,换成 M-y可以拉回以前被除去的文本。键入多次的M-y可以拉回更早以前被除去的文本。

7.列操作(矩形区域操作)

c-x r c-':执行矩形区域的选择

c-x r o :在选定的所有列前插入空白

c-x r t 字符:在选定的所有列前插入字符

C-x r k : 执行矩形区域的剪切

C-x r y : 执行矩形区域的粘贴

也可以在Emacs中用C-x C-h列出全部命令,查找C-x r c,所有列模式命令都是以C-x r开始的

C-x r C-@ point-to-register

C-x r SPC point-to-register

C-x r + increment-register

C-x r b bookmark-jump

C-x r c clear-rectangle

先用C-space或者C-@设一个mark,移动光标到另一点,使用C-x r c可以清楚mark到光标处的矩形区域,该区域留下空白。

C-x r d delete-rectangle

删除矩形区域,不留空白,后面的字符前移

C-x r f frame-configuration-to-register

C-x r g insert-register

C-x r i insert-register

将某个寄存器的内容插入某处

C-x r j jump-to-register

C-x r k kill-rectangle

就是剪切某个选定的矩形区域,用C-x r y可以贴上

C-x r l bookmark-bmenu-list

C-x r m bookmark-set

C-x r n number-to-register

C-x r o open-rectangle

在选定的矩形区域插入空白

C-x r r copy-rectangle-to-register

将选定的矩形区域复制到某个寄存器

C-x r s copy-to-register

C-x r t string-rectangle

在选定区域所有列前插入同样的字符

C-x r w window-configuration-to-register

C-x r x copy-to-register

C-x r y yank-rectangle

类似于矩形区域的粘贴,就是将刚用C-x r k剪切的矩形区域粘贴过来

C-x r C-SPC point-to-register

8.窗口操作

C-x 0 : 关闭当前窗口

C-x 1 : 将当前窗口最大化

C-x 2 : 垂直分割窗口

C-x 3 : 水平分割窗口

M-o (redefined) : 在窗口之间切换; C-x o 是默认命令

C-x 5 1/2/3/0 : 对frame类似的操作

C-x < : 窗口内容右卷

C-x > : 窗口内容左卷(这两个命令在垂直分割窗口后比较有用)

(C-u) C-x ^ : 加高当前窗口,如果有C-u,则每次加高4行

(C-u) C-x } : 加宽当前窗口

(C-u) C-x { : 压窄当前窗口

ESC C-v : 在其它窗口进行卷屏操作

9.搜索和替换

C-s : 向前搜索(增量式搜索);连续C-s,跳到下一个搜索到的目标

C-s RET : 普通搜索

C-r : 向前搜索

C-s RET C-w : 按单词查询

M-% : 查询替换,也就是替换前会询问一下

M-x replace-string : 普通替换

10.Tags

M-! etags .c .h : 创建TAGS文件

M-. : 跳到tag所在位置

M-x list-tags : 列出tags

11.Bookmark

C-x r m : 设置书签bookmark

C-x r b : 跳到bookmark处

esc c-n(c-m-n):调到后面对应的括号

esc c-p(c-m-p):调到前面对应的括号

12.帮助

C-h ? : 查看帮助信息

C-h f : 查看一个函数,此处的函数是指lisp语言中的某个函数的意思;

C-h v : 查看一个变量

C-h k : 查看一个键绑定 (C-h c 也是查看键绑定,但是信息较简略)

C-h C-f : 查看一个函数的Info,非常有用

C-h i : 看Info

13.其它

C-M-\ : 对选中区域,按照某种格式(比如C程序)进行格式化

C-x h : 全部选中

M-! : 执行外部shell命令

M-x shell : 模拟shell的buffer

M-x term : 模拟terminal, C-c k 关闭terminal

C-x C-q : 修改buffer的只读属性

ctrl+w: kill掉mark的区域

crtl+xx: mark当前光标处到上一次光标处

c-x r space(point-to-register):就是在要返回的点设一个标志,然后,运行c-x r j(m-x jump-to-register 1),就可以返回
1这个标志点

fill-region:可以复制一段文章到emacs里面,但是没有按复制的格式换行,这是用这个命令就可以自动换行了

c-x h,m-|,wc -w:可以在linux下面统计字数,中间的逗号用以分隔命令

emacs
Theme Jasmine by Kent Liao