如何删除emacs中的空白?
我有一个文本文件,它有固定长度的行,由尾随空格填充,如:如何删除emacs中的空白?,emacs,Emacs,我有一个文本文件,它有固定长度的行,由尾随空格填充,如: hello world ↩ this is some other line ↩ x ↩ 我想去掉每行的尾随空格,这样看起来 hello world↩ this is some other line↩ x↩ 是否可以编写一个emacs宏来解决这个问题 编辑:在末尾的尾随空格之前,行中可以有任意数量的空格,因此 hi world
hello world ↩
this is some other line ↩
x ↩
我想去掉每行的尾随空格,这样看起来
hello world↩
this is some other line↩
x↩
是否可以编写一个emacs宏来解决这个问题
编辑:在末尾的尾随空格之前,行中可以有任意数量的空格,因此
hi world ↩
可以是此文件中的有效行。Emacs具有内置的
修正空白(M-space
),它将多个空间缩小为一个空间:
hello world ↩
^
cursor
M-x fixup-whitespace
hello world ↩
^
cursor
因此,您可以简单地定义一个宏:
- 第一次调用
修复空白
- 然后删除最后一个空格
另一个可以是M-x replace regexp RET[]+'RET'RET
,它使用正则表达式解决了这个问题。有一个emacs命令delete training whitespace
,该命令去除最后一个字符后的空格。如果运行时未标记任何区域,则会清除整个缓冲区。如果有活动区域,则仅清理区域中的线
许多人将以下代码添加到他们的.emacs
,这样每当他们保存文件时,所有后续空白都会被清除:
(add-hook 'before-save-hook
'delete-trailing-whitespace)
我知道您已经得到了答案,但除了修复空白
之外,还有删除水平空白
,它会删除点周围的所有空白。还有一些其他相关命令在各种情况下都很有用。您可以使用M-:(info”(elisp)用户级删除“
来查找它们
此版本速度快,适用于所有Emacs版本:
M-x图片模式
,然后C-C-C注意撇号并不是他的问题的一部分,因此您关于正则表达式的建议在技术上是不正确的。s/'/$/这是对的。请注意,原始问题包含撇号。如果该点位于一个空格字符串中,并且如果您想删除所有空格,则M-\
将执行此操作。我已忘记此名称,并且由于某些原因无法找到它-谢谢!