Vim autocmd错误

时间:2016-06-16 20:41:04

标签: vim

我有这个脚本在加载Python文件时设置变量

au BufNewFile,BufRead *.py
    \ set tabstop=4
    \ set softtabstop=4
    \ set shiftwidth=4
    \ set textwidth=79
    \ set expandtab
    \ set autoindent
    \ set fileformat=unix

当我加载Python文件时,我收到此错误:

Error detected while processing BufRead Auto commands for "*.py":
E518: Unknown option: set

3 个答案:

答案 0 :(得分:4)

这应该有效:

au BufNewFile,BufRead *.test set tabstop=4 
      \softtabstop=4 
      \shiftwidth=4  
      \textwidth=790  
      \expandtab  
      \autoindent  
      \fileformat=unix

au BufNewFile,BufRead *.test set tabstop=4|set softtabstop=4|set shiftwidth=4|set textwidth=79 |set expandtab|set autoindent|set fileformat=unix

au BufNewFile,BufRead *.test set tabstop=4 softtabstop=4 shiftwidth=4  textwidth=79 expandtab autoindent fileformat=unix

答案 1 :(得分:0)

你可以用代替* .test,它对我有用。 (Astrix.Astrix)

实施例: au BufNewFile,BufRead set tabstop = 4

答案 2 :(得分:0)

以下是实现目标的几种方法:

au BufNewFile,BufRead *.py
    \ set tabstop=4 |
    \ set softtabstop=4 |
    \ set shiftwidth=4 |
    \ set textwidth=79 |
    \ set expandtab |
    \ set autoindent |
    \ set fileformat=unix

OR

au BufNewFile,BufRead *.py
    \ set tabstop=4
    \ softtabstop=4
    \ shiftwidth=4
    \ textwidth=79
    \ expandtab
    \ autoindent
    \ fileformat=unix
  

解释

     

在你的自动命令中,你正在调用:set(:h:set)命令   用于设置vim选项。如果你想设置多个选项,你   可以使用以空格分隔的多个选项调用:set   或者为每个选项多次致电:set,将每个:set分开   命令|(:h:bar)。

     

提示

     

因为您的目标是专门定义某些选项   python文件,您应该使用:autocmd Filetype python ...   这个,或者更好的是创建一个ftplugin/python/custom.vim文件   您可以使用:setlocal命令启用这些设置,而不是   到:set只为当前缓冲区设置它们。