读书笔记-学习GNU Emacs-2
创始人
2024-01-30 15:19:26
0次

学习本书目的:

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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...