如何删除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-\
将执行此操作。我已忘记此名称,并且由于某些原因无法找到它-谢谢!