Emacs笔记
Buffer操作
- 在新buffer打开文件 C-x C-f
- 在当前buffer打开文件 C-x C-v
- 向当前buffer追加文件 C-x i
- 另存为 C-x C-w
一般操作
- 恢复早前的删除 C-y
- 光标返回上次操作的位置 C-U C-SPC
- 更早前的 M-y
- 标记缓冲区 C-x h
- 标记段落 M-h
- 交换两个单词 M-t 在两个单词中间按
- 交换两行 C-x C-t
- 行首 C-a
- 行尾 C-e
- 跳转到当前行第一个非空字符 M-m
- 把当前行合并到上一行 M-^
- M-;注释
- M-j 在新行注释
- 转换成大写字母 M-u
- 反向转换成大写字母 M– M-u
- 转换成小写字母 M-l
- 反向转换成小写字母 M– M-l
- 首字母大写 M-c
- 反向首字母大写 M– M-c
查找
- 查找 C-s
- 复制光标所在单词来查找 C-s C-w
- M-% 查找替换 . 在当前位置替换后推出
- ,替换并显示当前位置
- !对后面文本全部替换
- ^返回上次替换位置
- C-r 进入递归编辑
- C-w 删除此处并进入递归编辑
- C-M-c 退出递归编辑
- C-] 退出递归编辑和替换
调出最后一条复杂命令 C-x ESC ESC
正则搜索 C-M-s C-M-r
- ^ 匹配行尾
- $ 匹配行首
- . 匹配单个字符
- .* 匹配任意字符
- < 匹配单词开头
- > 匹配单词结尾
- [] 匹配方括号中任意一个字符
在只读和正常之间切换 C-x C-q
窗口操作
- 加高当前窗口 C-x ^
- 加宽当前窗口 C-x }
- 收缩当前窗口到缓冲区大小 C-x -
- 窗口大小相同 C-x +
- 在新窗口打开文件 C-x 4 f
- 在另一个窗口中选择另一个缓冲区 C-x 4 b
缓冲区列表 M-x list-buffers
- d 加上删除标记
- k 加上删除标记
- s 加上保存标记
- u 去掉操作标记
- x 执行标记
- del 去掉上一个编辑缓冲区上的操作标记
- ~ 加上未修改标记
- % 转换只读状态
- 1 把编辑缓冲区满屏显示
- 2 把这个编辑缓冲区和下一个编辑缓冲区显示到连哥哥水平窗口里面
- f 把原本显示编辑缓冲区清单的窗口里显示此编辑缓冲区的内容
- o 把此编辑缓冲区显示到另外一个窗口里面
- m 加上待显示标志
- v 显示用m命令加上的带显示标志的编辑缓冲区
书签
- 设置书签 C-x r m
- 跳到书签 C-x r b
- 重命名书签 M-x bookmark-rename
- 删除书签 M-x bookmark-delete
- 书签列表 C-x r l
Dired模式 C-x d
- v 显示文件内容,q返回dired模式
- C 复制文件
- d 标记删除
- D 删除文件
- f 编辑文件
- g 刷新dired
- R 重命名文件
-
- 新建文件夹
- Q 在标记的文件内查找替换
- M-backspace 取消所有标记
- !在当前标记的文件上执行命令
- %m 标记匹配的文件
- %d 给匹配文件加上删除标记
宏相关操作
- 录制宏 C-x (
- 结束宏 C-x )
- 运行宏 C-x e
- 保存宏 M-x name-last-kbd-macro
- 把宏保存到文件 M-x insert-kbd-macro
- 在宏中插入递归编辑 C-u C-x q