【DAY2--带你学习emacs】在编辑时的一些重要指令

序言

上篇中介绍了一些基础操作的指令,在这篇文章中,主要介绍一些,我们在编辑文档时,如何更加便利的写文章。

Mark

许多Emacs命令在当前缓冲区的任意连续部分上运行。 要指定用于执行此命令的文本,请将标记设置在其一端,然后将指针移至另一端。 点和标记之间的文本称为区域。 无论文本中的哪一个先出现,该区域始终在点和标记之间延伸。 每次移动点时,区域都会改变。

将标记设置在文本中的某个位置也会激活它。 当标记处于活动状态时,我们也说该区域处于活动状态。 Emacs通过使用区域面部突出显示其中的文本来指示其范围

在执行某些非运动命令(包括更改缓冲区中文本的任何命令)之后,Emacs会自动停用该标记; 这将关闭突出显示。 您还可以随时通过键入C-g显式停用该标记。

setting Mark

C-SPC:在光标处设置mark点
C-@:同上
C-x C-x:不取消当前mark区域改变mark点
M-@:在下一个单词(mark-word)的末尾设置标记。
C-M-@: Set mark after end of following balanced expression
M-h:mark当前段落,调用mark-paragraph
C-M-h:mark当前defun,调用mark-defun
C-x C-p:mark当前页面,并将光标移动到页面的开始,调用mark-page
C-x h:mark当前buffer,调用mark-whole-buffer

Using Region

使用上面的命令可以设置好region,使用下面的命令可以对选中的region做一些操作

  • 使用C-w,将选中的region剪贴掉
  • 使用M-w, 复制选中的region使用C-x C-l,将选中region中的大写字母变成小写
  • 使用M-%,在选中的区域中做替换,第一次输入是你想替换的字符,第二次输入是你要替换的字符,然后按y可以将匹配到的字符替换。
  • 使用M-x eval-region,执行选中region中的Lisp code

The Mark Ring

Registers

Registers是emacs中的隔离区,可以将需要重复使用的一些内容放进相应的registers中,之后可以多次使用

Position Registers

操作对象是光标位置

  • C-x r SPC r:将当前光标的位置放在register r中,调用point-to-register
  • C-x r j r:跳到register r中保存的光标位置,调用jump-to-register

命令最后r可以替换为其他字母

Text Registers

操作对象是线性的region

  • C-x r s r:将当前region复制到register r中,调用的是copy-to-register
  • C-x r i r:插入register r中的内容,调用的是insert-register
  • M-x append-to-register RET r:将当前region增量复制到register r中,插入到后面
  • M-x prepend-to-register RET r:将当前region增量复制到register r中,插入到前面

Rectangle Registers

操作对象是矩形的region

  • C-x r r r:将当前region-rectangle复制到register r中,调用的是copy-rectangle-to-register
  • C-x r i r:插入register r中的内容,调用的是insert-register

Configuration Registers

操作对象是frame中不同window的配置

  • C-x r w r:将当前region-rectangle复制到register r中,调用的是window-configuration-to-register
  • C-x r f r:插入register r中的内容,调用的是frameset-to-register

Number Registers

  • C-u number C-x r n r:将number复制到register r中,调用的是number-to-register
  • C-u number C-x r + r:将number加上register r中的数字保存到register r中,调用的是increment-register
  • C-x r i r:插入register r中的内容,调用的是insert-register

File Registers

使用下面的lisp code将文件名保存到register中,然后调用C-x r j r打开文件
(set-register r '(file . name))

Keyboard Macro Register

  • C-x C-k x r:将当前Keyboard macro复制到register r中,调用的是window-configuration-to-register
  • C-x r j r:跳到register r中的内容

Bookmarks

书签有点像寄存器,可以现在多个文件中使用,典型用法是记录在各个文件中读取的位置

  • C-x r m RET:设置书签
  • C-x r m bookmark RET:以bookmark为名字设置书签
  • C-x r M bookmark RET:类似于C-x r m,不会覆盖当前的书签
  • C-x r b bookmark RET:跳转到bookmark命令的书签
  • C-x r l:列出所有书签
  • M-x bookmark-save:在默认的bookmark file中保存当前的bookmark
  • M-x bookmark-load RET filename RET:加载bookmark file
  • M-x bookmark-write RET filename RET:保存新的bookmark到file中
  • M-x bookmark-delete RET bookmark RET:删除书签
  • M-x bookmark-insert-location RET bookmark RET: Insert in the buffer the name of the file that bookmark bookmark points to.
  • M-x bookmark-insert RET bookmark RET:Insert in the buffer the contents of the file that bookmark bookmark points to.

Recuresive Editing Levels

在emacs中命令是可以嵌套的。比如,我在对一个region做替换操作的时候,突然想先查询一个单词,就先执行C-r去查询,等这个指令执行完之后就会返回替换操作的命令

  • 使用C-M-c退出递归编辑的模式,会执行第一次输入的命令,调用的是edit-recursive-edit
  • 使用C-]放弃递归编辑的模式,直接退出,调用的是abort-recursive-edit
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值