par*_*ser 8 emacs removing-whitespace
我最近(delete-trailing-whitespace)为我'before-save-hook的某些编程模式添加了Emacs 函数,但我发现从我当前正在编辑的行中删除空格是相当令人沮丧的.有关如何解决此问题的任何建议?
Sea*_*ean 10
由于考虑delete-trailing-whitespace缩小,一种解决方案是将缓冲区缩小到当前行之前的部分并调用它,然后缩小到当前行之后的部分并再次调用它:
(defun delete-trailing-whitespace-except-current-line ()
(interactive)
(let ((begin (line-beginning-position))
(end (line-end-position)))
(save-excursion
(when (< (point-min) begin)
(save-restriction
(narrow-to-region (point-min) (1- begin))
(delete-trailing-whitespace)))
(when (> (point-max) end)
(save-restriction
(narrow-to-region (1+ end) (point-max))
(delete-trailing-whitespace))))))
Run Code Online (Sandbox Code Playgroud)
把这个功能放在你的before-save-hook而不是delete-trailing-whitespace.