modelines中应使用哪些vim选项?

modelines中应使用哪些vim选项?,vim,modeline,Vim,Modeline,我想知道我应该在源文件(主要是C)的modelines中指定哪些vim选项,哪些不应该在那里指定,而应该留给用户指定 我认为modeline应该强制执行特定于代码的策略和/或帮助vim处理代码,同时尽可能避免干扰用户偏好 回答时,请解释为什么您认为某个特定选项应该通过modeline强制执行,或者不通过modeline强制执行。现在,我发现以下选项很有用: ft以确保vim正确识别文件格式 noet和sts=0禁用将选项卡扩展到空格中(项目编码样式) 或者选择et、ts、sts和sw来实施特定

我想知道我应该在源文件(主要是C)的modelines中指定哪些vim选项,哪些不应该在那里指定,而应该留给用户指定

我认为modeline应该强制执行特定于代码的策略和/或帮助vim处理代码,同时尽可能避免干扰用户偏好


回答时,请解释为什么您认为某个特定选项应该通过modeline强制执行,或者不通过modeline强制执行。

现在,我发现以下选项很有用:

  • ft
    以确保vim正确识别文件格式
  • noet
    sts=0
    禁用将选项卡扩展到空格中(项目编码样式)
  • 或者选择
    et
    ts
    sts
    sw
    来实施特定于项目的选项卡扩展
  • 也许
    tw
    建议换行(但我不太确定,因为这有点干扰)
  • fenc
    指示字符编码
这些是我认为不应该设置的选项:

  • ts
    如果项目使用制表符缩进-我相信用户应该能够选择自己的制表符宽度
  • 折叠-用户偏好
  • 缩进-用户可能有一种首选的缩进和更改方式,这可能会导致习惯性的额外或缺少缩进
  • ff
    因为vim应该正确推导换行格式,如果某些软件(如VCS)透明地转换文件,
    ff
    实际上会破坏它

现在,我发现以下选项很有用:

  • ft
    以确保vim正确识别文件格式
  • noet
    sts=0
    禁用将选项卡扩展到空格中(项目编码样式)
  • 或者选择
    et
    ts
    sts
    sw
    来实施特定于项目的选项卡扩展
  • 也许
    tw
    建议换行(但我不太确定,因为这有点干扰)
  • fenc
    指示字符编码
这些是我认为不应该设置的选项:

  • ts
    如果项目使用制表符缩进-我相信用户应该能够选择自己的制表符宽度
  • 折叠-用户偏好
  • 缩进-用户可能有一种首选的缩进和更改方式,这可能会导致习惯性的额外或缺少缩进
  • ff
    因为vim应该正确推导换行格式,如果某些软件(如VCS)透明地转换文件,
    ff
    实际上会破坏它