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

我最近开始使用vim 7(以前的vim 6)和smartindent设置。在大多数情况下,它的效果很好,尽管我习惯于在开放的大括号之后键入一个选项卡,几乎是有效的。

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

(我也不喜欢smartindent关于缩进的想法,如果。)

首选解决方案可以帮助我手动打嗝 – 我很懒。一个选项是“编辑shell脚本时关闭smartindent(将其留给休息)”。另一个选择是关于如何找到smartindent的控制脚本以及要编辑以更改不喜欢的特性的指导。最后的选择(我不需要关于如何做的建议 – 只是提示它是最好的,或者只是恢复理智的方式)是离开智慧未定。

我看到有关“(PHP and) annoying vim unindent rules”的模糊相关的问题;它不提供我直接的答案,但也许在这里提到的有关和相关的项目实际上是答案的一部分。

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

这条线看起来像是这样的问题:

setlocal indentkeys-=:,0#

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

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

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


Restoring indent after typing hash

要么

howto-configure-vim-to-not-put-comments-at-the-beginning-of-lines-while-editing

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...