我喜欢使用制表符而不是空格来格式化所有代码,但我只想在每行的开头将空格转换为制表符。
tabify 可以在行的开头将空格转换为制表符吗?
的文档tabify
提到了仅对行前空白进行操作的合适值。我用它来编写这个我觉得很方便的函数,但你可以在你的初始化文件中设置它并放弃一个单独的函数:
(defun tabify-leading (start end)
"Call `tabify' with `tabify-regexp' set so that only leading
spaces are treated."
(interactive "r")
(setq tabify-regexp-old tabify-regexp)
(unwind-protect
(progn
(setq tabify-regexp "^\t* [ \t]+")
(tabify start end))
(setq tabify-regexp tabify-regexp-old)))
它将添加到多种模式(适用于多种语言)并使其代码缩进仅是制表符,同时确保代码显示正确,无论查看器的制表符宽度如何。
摘抄:
- 制表符仅用于行首。其他所有内容,如 ASCII 艺术和表格,都应使用空格进行格式化。
- 制表符仅用于表示缩进级别。每个“块”一个制表符——任何剩余的空白都是空格。
tabify
除此之外,您可以使用该命令“tabify”现有代码。