Vim autocmd для FileType не работает косвенно - PullRequest
1 голос
/ 16 июня 2020

У меня есть собственный ~/.vimrc, который я сделал с этим augroup:

augroup filetype_vim
    autocmd!
    autocmd! BufWritePost .vimrc* source %
    autocmd FileType vim |
      setlocal foldlevel=0  foldmethod=marker foldmarker={{{,}}}
augroup END

Когда я открываю vim напрямую, чтобы редактировать ~/.vimrc следующим образом: vim ~/.vimrc, сворачивание работает должным образом , Я могу свернуть {{{ маркер:

:set foldmethod?
> foldmethod=marker

Когда я открываю vim без указания файла: vim, а затем пытаюсь отредактировать: :e ~/.vimrc, метод складывания другой!

:set foldmethod?
> foldmethod=syntax

Что, очевидно, происходит из другой части моего vimr c.

Почему он не распознает тип файла, когда я открываю файл косвенно?

1 Ответ

2 голосов
/ 16 июня 2020

Вы не справились с синтаксисом VimScript. Должно быть

 autocmd FileType vim
  \ setlocal foldlevel=0  foldmethod=marker foldmarker={{{,}}}

Вместо этого вы сделали

autocmd FileType vim <nothing> | <nothing>
setlocal foo bar

Следовательно, setlocal применяется только к текущему буферу (т.е. аргументу командной строки), а не к чему-либо еще.

...