学习本书目的:
emacs的学习一直是陆陆续续看博客和上手实践,
这次想通过阅读"学习GNU Emacs"这本书好好系统的再复习下emacs。
ps:读技术书应该是带着一定的目的去读的,最简单的目的可能就是为了学好某一项技术或者复习下某一项技术。
基本概念
缓冲区
理解文件与编辑缓冲区:
文件内容放到临时的缓冲区里,对缓冲区进行编辑。
保存,才会更新到文件中。
*scratch*
只是一个临时性的辅助性缓冲区,作用类似草稿簿。
*Help*
帮助信息显示的缓冲区
编辑模式
文本模式和c语言模式都是主模式。
一个编辑缓冲区每次只能处于一种主模式中,退出一种主模式的方法是进入另一个主模式。
当编辑一个文件的时候,emacs会根据正在进行的编辑工作尝试进入正确的主模式。
如果判断不出,就会转入基本编辑模式。
在主模式之外还有一些副模式。
副模式定义的是emacs某些特定的行为,可以在某个主模式里打开或者关闭。
比如自动换行模式,行号模式。
大纲模式即是一个主模式,也是一个副模式。
退出
C-x C-c 退出Emacs
ps:新手最怕emacs和vim的退出
文件编辑
光标的移动
按键 | 作用 | 按键 | 作用 |
---|---|---|---|
C-f | 向前 | C-b | 向后 |
C-p | 向上 | C-n | 向下 |
ESC-f | 右移一个单词 | ESC-b | 左移一个单词 |
C-a | 一行的开始 | C-e | 一行的结束 |
ESC-a | 上移一个句子 | ESC-e | 下移一个句子 |
ESC-{ | 上移一个段落 | ESC-e | 下移一个段落 |
C-x ] | 上一页 | C-x ] | 下一页 ,没有分页符,分别到开头和末尾。 |
重新绘制界面
- C-l重新绘制画面
文件的删除
按键 | 作用 |
---|---|
C-x u | 撤销最近一次的编辑操作。 |
C-d | 删除光标上的字符。 |
ESC-d | 删除单词 |
C-k | 删除一行 |
ESC-k | 删除光标后面的句子 |
C-y | 恢复已经删除的内容 |
ESC-y | 依次恢复 |
文本块编辑
标记一个文本块:
- 把光标移动到开始位置
- 按下C-@组合键,Emacs会显示Mark set。
- 把光标移动到准备标记的文本块的结束为止。
- 可选,C-x C-x检查标记是否正确
复制文本:
- ESC w 复制文本 (针对前面的标记文本块)
- 把光标移动到待插入位置,按下C-y,把复制内容插入到这里。
交换位置
按键 | 作用 |
---|---|
C-t | 交换字符 |
ESC-t | 交换单词 |
C-x C-t | 交换句子 |
改变大小写
按键 | 作用 |
---|---|
ESC c | 单词的首字母改为大写 |
ESC u | 单词的字母全部改为大写 |
ESC l | 单词转为小写字母 |
恢复文件内容
修改太多,想全部恢复
输入:
ESC X
revert-buffer RETURN
文件内容全部覆盖缓冲区的。
emacs配置文件
~/.emacs
自动启用文本模式和自动换行模式
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
读书总结
初始两个章节的阅读还是很有收获,虽然一直用evil,但是还是想对emacs的文本操作摘记下。
恢复文件内容这个函数就一直没用过,因为自己一直喜欢用git恢复,但是revert-buffer看起来会更方便。