vim 确实删除了以 # 字符开头的所有行的缩进

标签 vim comments auto-indent

我已经读过这个:

Vim automatically removes indentation on Python comments

我已经尝试了其中提到的所有内容,但没有成功:

  • 我已关闭 smartindent
  • 我使用文件类型缩进
  • 我尝试了 :inoremap # X^H#

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

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

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

所以我不知道我还能尝试什么。我不希望每次输入缩进的 # 时我的光标都会移动到第 0 列。有什么建议吗?

更新

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

最佳答案

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

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

autocmd FileType php set cinkeys-=0#

关于vim 确实删除了以 # 字符开头的所有行的缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015370/

相关文章:

compiler-errors - 注释中的代码正在编译

php - 具有自动增量的遗产

VIM:如何让右括号像右括号一样与 block 对齐?

python - 如何检查编译vim的python版本?

vim - 从底部搜索留下空间

vim - 阻止 vim 动态更新折叠

vim - 如何在 vim 中基于大括号定义缩进?

vim 在退出时恢复 shell

eclipse - 如何防止 Eclipse 格式化程序弄乱带有文本符号的注释?

php - 我将如何评论我从另一位作者修改的 PHP 类?