学习本书目的:
emacs的学习一直是陆陆续续看博客和上手实践,
这次想通过阅读"学习GNU Emacs"这本书好好系统的再复习下emacs。
ps:读技术书应该是带着一定的目的去读的,最简单的目的可能就是为了学好某一项技术或者复习下某一项技术。
查找和替换
递增查找
按键 | 作用 |
---|---|
C-s | 输入想要查找的文本,向前搜索 |
C-r | 输入想要查找的文本,向后搜索(朝文件头方向) |
C-s C-y | 把光标位置到行尾的文本用做查找字符串 |
C-s C-s | 重复刚才的查找操作 |
简单查找
C-s RETURN searchstring RETURN 开始一次非递增查找操作
C-r 类似
单词查找
C-s RETURN C-w 对应命令名是word-search-forward单词查找
查找和替换
ESC X replace-string RETURN
输入查找字符串,按下回车,然后输入替换字符串,再按下回车。
对光标后面的匹配字符串都进行替换,如果要整个文件,可以ESC < 跳到文件开头先。
单个确认替换
ESC % 输入待替换字符串 RETURN 替换后字符串
SPACE或y表示同意替换当前,下一个
DEL或n表示不同替换当前,下一个
正则查找
正则字符一览
字符 | 匹配情况 |
---|---|
^ | 匹配行首 |
$ | 匹配行尾 |
. | 匹配任意单个字符 |
.* | 匹配任意(零或以上)个字符 |
\< | 匹配单词的开头 |
\> | 匹配单词的结尾 |
[] | 匹配方括号中的任何一个字符 |
按键 | 作用 |
---|---|
ESC C-s RETURN | 查找一个正则表达式,向文件尾方向 |
ESC C-r RETURN | 查找一个正则表达式,向文件头方向 |
使用编辑缓冲区和窗口
缓冲区
Emacs最有用的功能之一是它能够同时对多个编辑缓冲区进行编辑,并利用窗口同时显示一个以上的缓冲区。
- C-x C-f 查找文件,并打开
- C-x b 缓冲区之间进行切换
- C-x C-s 保存
- C-x s 都保存 依次询问要不要保存 y or n
- C-x k 删除缓冲区
- ESC x rename-buffer 修改缓冲区名字,和对应文件无关系不影响。
- C-x C-q 当前编辑缓冲区设置为只读缓冲区
窗口
- C-x 2 把当前窗口分为上下2个
- C-x 3 把当前窗口分为左右2个
- C-x o 光标从窗口之间移动
- C-x 0 删除当前窗口
书签
- C-x r m 光标位置设置了一个书签
- C-x r b 选择书签
- ESC x bookmark-rename 重新命名书签
- ESC x bookmark-delete 删除书签
Emacs 工作环境
用好Emacs工作环境
一次执行一条uix命令
ESC-! 在Emacs中输入一条shell命令
C-x 1 关闭执行窗口
C-u M-! 把命令的执行结果直接放到当前编辑缓冲区。
ps: 个人当前的版本ESC-!是未定义的,这节就不验证了
使用shell模式
- ESC X shell RETURN 打开shell
- shell当中,需要C-c C-c代替shell中原来的C-c
- C-c C-o 删除上一个命令的执行输出
- ESC-p 找回上次的命令
dired
ESC X dired
- v 查看内容
- q 退出
- d 待删除标记
- u 去掉待删除标记
- x 把有待删除标记的全部一次性删除掉
- C 复制文件
- R 重命名
- = 文件比较diff
- m 带操作标记
- Z 压缩
- % 正则选取文件 (先输入m或者d准备标记)
- 创建目录
显示时间和日历
- ESC x display-time (display-time)
- ESC x calendar
略
日记
略
电子邮件和Usenet新闻
略
yps:emacs对我而言是高效的工具,并不是所有情况都要在emacs操作
Emacs的因特网工具箱
略
yps:emacs对我而言是高效的工具,并不是所有情况都要在emacs操作
用Emacs设置排版标记
略
yps:emacs对我而言是高效的工具,并不是所有情况都要在emacs操作
Emacs中的宏
什么是宏
在Emacs里面,宏是一组被录制下来的按键动作,可以反复的多次使用。
我们可以用宏
- 给文本设置排版标记
- 把某个编辑缓冲区里的标题做一份大纲,复制到另外一个编辑缓冲区里面
- 做一些查询替换无法应付的查找加替换类型操作
- 建立索引目录
- 重新对冲另外一个应用软件里面到进来的文件进行排版
- 把表格从一种格式套用为另外一种格式
- 用一个命令来完成某个程序的编译、运行、测试
定义宏
- C-x ( 开始进入宏定义模式
- C-x ) 离开宏定义模式
- C-g 停止宏的录制
- C-x e 执行已经录制的宏
如何创建良好的宏
良好的宏:在任何场合下都能正确工作的宏。
使用绝对命令而非相对型命令。
一般说来,好的宏是由三个部分组成的:
- 找到准备开始工作的地方(通常利用查找操作来实现)
- 对文本进行预定的编辑处理
- 做好下次循环的准备工作
向现有的宏里增加编辑命令
- C-u C-x ( 开始录制一个宏,尾部追加
- C-x ) 结束新的实例
命名并保存宏
- ESC x name-last-kbd-macro 取名
- ESC x name 使用name这个宏
读书总结
很多命令和操作重新摘记了下,一个个命令敲过去验证过去,像玩游戏一样,乐不思蜀。
emacs肯定能提高我们的效率,效率是一点,还有操作中得到乐趣也很重要。
什么都能在emacs中操作,听起来很酷,但这个见仁见智,找到适合自己的操作最重要。
网友评论