AlynxZhou / stackharbor

喵's StackHarbor
https://sh.alynx.one/
4 stars 2 forks source link

我如何在 Emacs 里面处理缩进宽度和 Tab 宽度 #62

Open lilydjwg opened 2 years ago

lilydjwg commented 2 years ago

Vim 里的缩进更复杂一些:有 'tabstop' 'softtabstop' 'shiftwidth' 'expandtab' 等几个选项。一般来说,有以下几种组合:

AlynxZhou commented 2 years ago

Vim 里的缩进更复杂一些:有 'tabstop' 'softtabstop' 'shiftwidth' 'expandtab' 等几个选项。一般来说,有以下几种组合:

* 硬 tab 缩进。按一个 tab 键就插入一个 tab 字符。适用于 Makefile

* 软 tab 缩进。按一个 tab 键就插入 'softtabstop' 个空格。适用于绝大多数代码

* 混合缩进。按一个 tab 键就插入 'softtabstop' 个空格,并且把每 'tabstop' 个空格转换为一个 tab。适用于早期存储空间珍贵的场合。Python 3 对混合缩进会报语法错误。

重点在于不要简单地把 Tab 长度等价于缩进长度,不然第三种文件打开就会乱了

shenlebantongying commented 2 years ago

我的操作是给对应语言的“formatter”定一个按键,写完一个小区域就按一下。除了 python 以外,顶着行首写也问题不大。有需要 tab/space 随缘按两下行了。反正以现在电脑的性能全文件重排也很快。

这样就直接 dodge 掉了按一堆 tab 排版和其它的一系列的问题。

AlynxZhou commented 2 years ago

我的操作是给对应语言的“formatter”定一个按键,写完一个小区域就按一下。除了 python 以外,顶着行首写也问题不大。有需要 tab/space 随缘按两下行了。反正以现在电脑的性能全文件重排也很快。

这样就直接 dodge 掉了按一堆 tab 排版和其它的一系列的问题。

最麻烦的不是自己写的代码怎么缩进,而是怎么兼容某个项目现有的缩进习惯,提 PR 的时候不可能把整个文件的缩进都给改了……