C-x C-f 寻找文件。
C-x C-s 保存文件。
C-x C-b 列出缓冲区。
C-x C-s 保存文件。
C-x C-b 列出缓冲区。
C-x C-c 离开 Emacs。
C-g 退出一个正在运行的命令。
C-x u 撤销
C-p/n 上下移动光标
C-f/b 左右移动光标
C-v 查看下一屏
M-v 上一屏
M-f/b 一个词一个词的跳
C-a/e 一行的头尾
M-a/e 一句的头尾
M-< / M-> 所有文字的开关末尾
delete 删除前一个字符
c-d 删除后一个字符
M-delete 删除前一个字
m-d 删除后一个字
c-k 删除行尾间的字符
m-k删除句尾间的字符
区域删除
1、把光标移动到要删除的位置
2、c-space或c-@ (出现mark set)
3、移动光标到需要删除的位置
4、c-w删除所选文字
c+/ 或c+_ 或c+x u 撤销
c-x c-b 列出缓冲区
c-x b 名字切换缓冲区
emacs常用快捷键
- 键绑定功能:
- 比如要把lctrl键-向右的箭头绑定到切换不同的emacs的tab,做如下操作:m-x global-set-key回车,按下要绑定的键,回车,tabbar-forward-group,然后
- c-x esc esc,把出现的命令复制到.emacs中就可以了
- 基本命令
- C-x C-c : 退出Emacs
- C-x C-f : 打开一个文件,如果文件不存在,则创建一个文件
- C-g : 取消未完成的命令
- 编辑
- C-z (redefined): Undo;原来C-z是挂起Emacs(然后用fg命令调出);C-x u 是默认的命令;移动一下光标,再C-z就可以redo
- M-d : 删除光标后的词语
- c-t:调换字符
- c-m-\:对选定区域进行缩进
- 移动光标
- 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 : 重绘屏幕,效果就是当前编辑行移动窗口中央
- 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 : 文件另存为
- 拷贝与粘贴
- 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可以拉回更早以前被除去的文本。
- 列操作(矩形区域操作)
- 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-xr开始的
- 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 rc可以清楚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
- 窗口操作
- 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 : 在其它窗口进行卷屏操作
- 搜索和替换
- C-s : 向前搜索(增量式搜索);连续C-s,跳到下一个搜索到的目标
- C-s RET : 普通搜索
- C-r : 向前搜索
- C-s RET C-w : 按单词查询
- M-% : 查询替换,也就是替换前会询问一下
- M-x replace-string : 普通替换
- Tags
- M-! etags .c .h : 创建TAGS文件
- M-. : 跳到tag所在位置
- M-x list-tags : 列出tags
- Bookmark
- C-x r m : 设置书签bookmark
- C-x r b : 跳到bookmark处
- esc c-n(c-m-n):调到后面对应的括号
- esc c-p(c-m-p):调到前面对应的括号
- 帮助
- C-h ? : 查看帮助信息
- C-h f : 查看一个函数,此处的函数是指lisp语言中的某个函数的意思;
- C-h v : 查看一个变量
- C-h k : 查看一个键绑定 (C-h c 也是查看键绑定,但是信息较简略)
- C-h C-f : 查看一个函数的Info,非常有用
- C-h i : 看Info
- 其它
- 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-xjump-to-register 1),就可以返回
- 1这个标志点
- fill-region:可以复制一段文章到emacs里面,但是没有按复制的格式换行,这是用这个命令就可以自动换行了
c-x h,m-|,wc -w:可以在linux下面统计字数,中间的逗号用以分隔命令