【问题标题】:My emacs deletes trailing white space. How can I disable this behaviour?我的 emacs 删除了尾随空格。如何禁用此行为?
【发布时间】:2013-01-04 20:17:32
【问题描述】:

保存后(我认为),我的 emacs 正在删除尾随空格。我不想提交这些更改,只提交我手动修改的部分。有没有办法禁用这种行为?

【问题讨论】:

  • 供将来参考,此question 仅在文件的修改部分与空白管理有关。
  • 你得到答案了吗?我看到您既没有接受也没有对回复发表评论——您可能需要更多帮助吗?

标签: emacs whitespace


【解决方案1】:

这种行为不是标准的。然而,这是您可能在某处借用的非常常见的定制。在您的 init 文件中查找类似以下内容并注释掉这些行以消除此行为(并让 Emacs 将文件按原样保存,而不完全删除空格):

(add-to-list 'write-file-functions 'delete-trailing-whitespace)

(add-hook 'before-save-hook 'delete-trailing-whitespace)

emacswiki page 提供了大量关于处理尾随空格的建议。

如果您只想在修改的行上删除尾随空格,您可以尝试ws-trim

【讨论】:

  • Tempus:是的,摆脱你现有的自定义并使用ws-trim——它在版本控制下工作时完全符合你的要求(如果你遇到过,你可以轻松地关闭模式这样做的理由)。
  • 不确定这是否对任何人都有帮助,但 ws-trim 对我来说效果不太好,所以我做了这个:github.com/lewang/ws-butler ...它不那么突兀。
【解决方案2】:

就像this 回答中建议的那样,deleting-trailing-whitespace 钩子可能已添加到 before-save-hook 钩子中。

禁用此 eval (remove-hook 'before-save-hook 'delete-trailing-whitespace)(键入 M-:)。

【讨论】:

    【解决方案3】:

    看看ethan-wspace。它会清理你自己弄脏的任何空白。但是,当您打开文件时存在的任何不正确的空格都会保持不变。这样你就可以避免那些充满空白变化的混乱差异

    【讨论】:

    • 从描述看来,除非整个文件一开始就处于干净状态,否则它不会清理任何空白?这不如 ws-trim 和 ws-butler 采用的方法有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多