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

  • 相关阅读:
    通达OA RCE远程代码执行漏洞分析
    网络安全态势感知运营中心建设解决方案
    34. 在排序数组中查找元素的第一个和最后一个位置
    基于 Redis 实现共享 Session 登录
    【大虾送书第八期】揭秘分布式文件系统大规模元数据管理机制——以Alluxio文件系统为例
    Docsify 顶部的导航是如何配置
    GLM大模型的机器翻译能力测试
    康耐视深度学习ViDi-ViDi四大工具之一蓝色定位工具/Locate
    C/C++陷阱——临时变量的产生和特性
    基于Spring Boot+ MyBatis Plus 的多端后台管理框架(若依pro)
  • 原文地址:https://blog.csdn.net/yuoveyu/article/details/127930347