我想知道我应该在源文件(主要是C)的modelines中指定哪些vim选项,哪些不应该在那里指定,而是留给用户指定。
我认为modelines应该强制执行特定于代码的策略和/或帮助vim处理代码,同时尽可能避免干扰用户偏好。
回答时,请解释为什么您认为应该通过modeline强制执行某个特定选项。
现在,我发现以下选项很有用:
- CCD_ 1以确保vim正确识别文件格式
- CCD_ 2和CCD_
- 或者可替换地
et
、ts
、sts
和sw
,以强制项目特定的选项卡扩展 - 也许CCD_ 8建议换行(但我对此不太确定,因为它有点侵入性)
- CCD_ 9来指示字符编码
这些是我认为我不应该设置的选项:
- CCD_ 10如果项目使用制表符缩进——我相信用户应该能够选择自己的制表符宽度
- 折叠——用户偏好
- 缩进——用户可能有一种进行缩进和更改的首选方式,这种方式实际上可能会导致习惯性的额外或缺失缩进
ft
1,因为vim应该正确推导换行格式,如果一些软件(如VCS)透明地转换文件,ff
实际上会破坏它