gpt4 book ai didi

emacs - 如何折叠区域中的空格?

转载 作者:行者123 更新时间:2023-12-03 23:14:53 25 4
gpt4 key购买 nike

假设我有这个表格文本文件:

field1        variable_length_field    variable_length_field
aaaaaa aaaa aaaaaaaaa
bbbbbb bbbbbbbbbbbbbbbbbbbb bbbb

我怎样才能将它转换为:
field1 variable_length_field variable_length_field
aaaaaa aaaa aaaaaaaaa
bbbbbb bbbbbbbbbbbbbbbbbbbb bbbb

我知道我可以使用 replace-regexp在该地区,但 Emacs 正则表达式不是自然而然的。我正在寻找类似 delete-whitespace-rectangle 的东西,但这并没有达到我的预期,或者我正在滥用它。具有按列执行此操作的能力也是可取的,即:
field1        variable_length_field variable_length_field
aaaaaa aaaa aaaaaaaaa
bbbbbb bbbbbbbbbbbbbbbbbbbb bbbb

最佳答案

这个函数应该可以解决问题:

(defun just-one-space-in-region (beg end)
"replace all whitespace in the region with single spaces"
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region beg end)
(goto-char (point-min))
(while (re-search-forward "\\s-+" nil t)
(replace-match " ")))))

而且,由于问题已更新以适用于矩形中的空间,请尝试以下操作:
(require 'rect)  
(defun just-one-space-in-rect-line (start end)
(save-restriction
(save-match-data
(narrow-to-region (+ (point) start)
(+ (point) end))
(while (re-search-forward "\\s-+" nil t)
(replace-match " ")))))
(defun just-one-space-in-rect (start end)
"replace all whitespace in the rectangle with single spaces"
(interactive "r")
(apply-on-rectangle 'just-one-space-in-rect-line start end))

关于emacs - 如何折叠区域中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com