gpt4 book ai didi

shell - vim 中的什么设置抵消了 smartindent 拒绝缩进 shell 脚本中的 # 注释?

转载 作者:行者123 更新时间:2023-12-03 10:42:26 25 4
gpt4 key购买 nike

我最近开始使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com