vim会删除以#字符开头的所有行的缩进

时间:2013-04-15 12:39:26

标签: vim comments auto-indent

我已经读过这个:

Vim automatically removes indentation on Python comments

我已经尝试了那里提到的所有内容而没有成功:

  • smartindent关闭了
  • 我使用filetype indent on
  • 我用:inoremap # X^H#
  • 尝试了这个技巧

以上都没有帮助:每当我使用#开始缩进行时,缩进将被删除,光标将移动到第0列。

以下是:set的输出:https://gist.github.com/mikehaertl/5387743

这是我在Ubuntu 12.10上使用的vimrc.localhttps://gist.github.com/mikehaertl/1612035

所以我无能为力。每当我输入缩进的#时,我都不希望将光标移动到第0列。有什么建议吗?

更新

所以我发现这是由cindent引起的。对我来说这仍然是非常模糊的:为什么vim会这样做?如果我仍然想要使用cindent,我该如何防止这种情况发生呢?

2 个答案:

答案 0 :(得分:2)

如果您使用cindent,则可能包含0#部分 默认。您只需将其删除,例如使用auto命令即可 当文件类型更改为您想要的类型时触发 缩进禁用。

是PHP吗?如果是这样,将此行添加到.vimrc可能会有所帮助:

autocmd FileType php set cinkeys-=0#

答案 1 :(得分:0)

'formatoptions'选项控制该行为。 :set fo的输出是什么?

croql是一个很好的价值,请参阅:h fo-table