vim中的哪些设置抵消了smartindent拒绝在shell脚本中缩进#comment?

Jon*_*ler 25 vim shell auto-indent

我最近开始使用vim 7(之前的vim 6)和smartindent设置.在大多数情况下,它运作良好,虽然我习惯在打开支撑后键入一个选项卡,这几乎适得其反.

然而,有一种疯狂的行为.编辑shell脚本时,我尝试在当前缩进级别创建注释,但smartindent与此无关.它坚持认为评论必须在0级(没有缩进).更糟糕的是,它打破右移(>>'和朋友),使他们无法正常工作.这是彻底的不服从,我想知道解决它的最佳方法是什么?

(我也不太热衷smartindent的关于缩进的想法thenif.)

首选的解决方案将节省我手动抨击 - 我很懒.一个选项是" smartindent在编辑shell脚本时关闭(其余部分保持打开状态)".另一种选择是如何找到控制脚本smartindent以及编辑什么来改变我不喜欢的特征的指南.最后的选择(我不需要关于如何做的建议 - 只是暗示它是最好的,或唯一的,恢复理智的方式)是不smartindent设置.

我看到了关于" (PHP和)恼人的vim unindent规则 " 的模糊相关问题; 它并没有为我提供直接的答案,尽管其中cindent提到的相关项目实际上可能是答案的一部分.

小智 11

找到缩进文件,(例如我系统上的/usr/share/vim/vim71/indent/sh.vim)

这条线看起来像问题:

setlocal indentkeys-=:,0#

也许您可以在.vimrc中修复此问题或手动加载自定义缩进文件.

编辑:它看起来比我想象的要复杂,但也许在缩进文件中有一些特别设置的东西你需要修复.

第二次编辑:看起来我完全错了,看看:

键入哈希后恢复缩进

要么

HOWTO-配置的vim - 到 - 不把-意见,在最开始-的线,而编辑