Vim在BufRead下的设置错误

71

我的vimrc设置出现了一个奇怪的问题,当我使用BufRead时,我发现这两行组合会导致问题。

例如:

au BufRead *.py
    \ set softtabstop=4
    \ set shiftwidth=4
现在如果我用 .py 打开一个文件,会出现错误:
Error detected while processing BufRead Auto commands for "*.py":
E518: Unknown option: set

只有在au BufRead下才会发生,每个设置单独使用都有效,但组合起来就无效了?


有趣的是,它能够正常工作,但在我的实际文件中,我还有其他设置选项,在它们之前没有使用 |,但它们也能正常工作。所以这很奇怪。 - AnthonyC
当你有多个命令时,例如在这种情况下的 set,需要使用 |。这就是为什么在 au BufRead *.py 部分后面不需要使用 |。更多信息请参考 :help :bar - svlasov
我的意思是这个代码没有错误: 例如: au BufNewFile,BufRead *.py \ set shiftwidth=4 \ set textwidth=79 \ set expandtab \ set autoindent - AnthonyC
2个回答

167

如果您想使用多个set,请用|分隔:

au BufRead *.py
    \ set softtabstop=4 |
    \ set shiftwidth=4

阅读更多:help :bar


1
非常感谢您! - mortymacs

17
请使用一个带有空格分隔的选项set
au BufRead *.py set softtabstop=4 shiftwidth=4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接