- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近开始使用 vim 7(以前是 vim 6)和 smartindent
环境。在大多数情况下,它运行良好,尽管我习惯于在大括号后键入选项卡,这几乎适得其反。
然而,有一种疯狂的行为。编辑shell脚本时,我尝试在当前缩进级别创建注释,但是smartindent
将与它无关。它坚持注释必须在 0 级(无缩进)。更糟糕的是,它会破坏右移(' >>
' 和 friend ),使它们无法工作。这是彻头彻尾的不服从,我想知道解决它的最佳方法是什么?
(我也不热衷于 smartindent
关于在 then
之后缩进 if
的想法。)
首选解决方案将使我免于手动抨击 - 我很懒惰。一种选择是“关闭 smartindent
”编辑 shell 脚本时(其余部分保持打开状态)”。另一个选项是关于如何找到 smartindent
的控制脚本的指南。以及编辑什么来改变我不喜欢的特征。最后的选择(我不需要关于如何做的建议 - 只是暗示这是最好的或唯一的恢复理智的方法)是离开 smartindent
未设置。
我在“(PHP and) annoying vim unindent rules”上看到了模糊相关的问题;它没有为我提供直接的答案,尽管可能是 cindent
和那里提到的相关项目实际上是答案的一部分。
最佳答案
找到缩进文件,(例如我系统上的/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
关于shell - vim 中的什么设置抵消了 smartindent 拒绝缩进 shell 脚本中的 # 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/385327/
Vim 不会自动缩进我正在处理的 C 源文件,尽管它声称当我键入:放命令。当我输入一些代码时什么都没有发生。比如写 int main() { return 0; } “返回 0;”语句留在左边。但是,
我发现缩进,有或没有选择,并不总是有效,这似乎是因为这些设置。 据我所知,这是代码有效且正确缩进的时间,但它并没有发生在任何地方。除了下面的示例,我还没有找到模式。 set filetype plug
:help autoindent : Copy indent from current line when starting a new line (typing in Insert mode or
我最近开始使用 vim 7(以前是 vim 6)和 smartindent环境。在大多数情况下,它运行良好,尽管我习惯于在大括号后键入选项卡,这几乎适得其反。 然而,有一种疯狂的行为。编辑shell脚
我是一名优秀的程序员,十分优秀!