使用 Emacs 内置工具,是否有一种好方法可以从 Emacs 缓冲区中的每一行中删除最后 n 个字符(对于 n >= 1)?我想可以定义一个键盘宏来做到这一点,但这不是我在这里的想法。
Stack Overflow 上有一个优雅的解决方案,用于解决如何将字符附加到 emacs 中的每一行的相应问题,即在 Emacs 中将字符附加到每一行 的末尾,但我找不到这个问题的答案。
笔记:
由于 XEmacs 大多已死(RIP),因此可以假设问题
仅与 GNU Emacs 有关。
使用 Unix 流编辑器等可以轻松解决此问题。
不过,在 Emacs 缓冲区上操作更为灵活。
我当然可以手动完成此操作,但我已经做出了某种新年
决议,以更好地利用 Emacs 功能。毕竟,我
只用了 20 年,对它几乎一无所知。
您可以使用相同的替换正则表达式方法来删除附加情况,只需在行尾正则表达式元字符前添加任意字符元字符即可:
M-< M-x replace-regex RET .$ RET RET
Run Code Online (Sandbox Code Playgroud)
要替换多个字符,您可以以简单的方式开始.?
在正则表达式中添加(一个可选的任意字符):
M-< M-x replace-regex RET .?.$ RET RET
Run Code Online (Sandbox Code Playgroud)
或者,更优雅的是,您可以使用间隔样式表示法来指示n
行尾之前的任意字符,在以下示例中,n=2:
M-< M-x replace-regex RET \{,2\}$ RET RET
Run Code Online (Sandbox Code Playgroud)
在 EmacsWiki 的正则表达式下有更多关于正则表达式语法的信息
归档时间: |
|
查看次数: |
1874 次 |
最近记录: |