读书笔记-学习GNU Emacs-2

学习本书目的:

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里面,宏是一组被录制下来的按键动作,可以反复的多次使用。
我们可以用宏

  1. 给文本设置排版标记
  2. 把某个编辑缓冲区里的标题做一份大纲,复制到另外一个编辑缓冲区里面
  3. 做一些查询替换无法应付的查找加替换类型操作
  4. 建立索引目录
  5. 重新对冲另外一个应用软件里面到进来的文件进行排版
  6. 把表格从一种格式套用为另外一种格式
  7. 用一个命令来完成某个程序的编译、运行、测试

定义宏

  • 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中操作,听起来很酷,但这个见仁见智,找到适合自己的操作最重要。

你可能感兴趣的:(读书笔记,emacs)