我如何在Vim中获得代码折叠以使Shell脚本正常工作

hgi*_*sel 4 vim bash shell folding

无论我做什么,我似乎都没有为shell脚本运行语法折叠。

所以我有一个叫abc.shcall 的文件

:let g:sh_fold_enabled=7
:let g:is_bash=1
:set foldmethod=syntax
Run Code Online (Sandbox Code Playgroud)

但是它仍然找不到任何褶皱。这是为什么?

xiz*_*ian 6

这个问题在有关Reddit的讨论中得以解决。

诀窍是将这些命令放在顶部vimrc中。

set nocompatible

filetype plugin indent on

set foldenable

set foldmethod=marker

au FileType sh let g:sh_fold_enabled=5

au FileType sh let g:is_bash=1

au FileType sh set foldmethod=syntax

syntax enable
Run Code Online (Sandbox Code Playgroud)

IMO折叠级别5比7更好,所以这就是我在上面的代码中输入的内容。

我在插件部分之后放置了以上内容。

在下面的文章中,还以稍微不同的解决方案讨论了这个问题:这里