Ingo 的答案复制如下。
:autocmd BufEnter,FileType *
\ if &ft ==# 'c' || &ft ==# 'cpp' | colorscheme darkblue |
\ elseif &ft ==? 'r' | colorscheme desert |
\ else | colorscheme default |
\ endif
这些\
字符告诉 vim 该命令应该与前一个命令在同一行(如果它在行首)。这允许长命令更具可读性。
空格被视为命令输入之间的分隔符,因此不管有多少。
在您的命令中,我相信您|
在第一个 if 之后缺少管道。
... if &ft ==# 'sql' colorscheme SummerFruit256 | ...
应该
... if &ft ==# 'sql' | colorscheme SummerFruit256 | ...
所以整个命令将是
:autocmd BufEnter,FileType * if &ft ==# 'sql' | colorscheme SummerFruit256 | elseif &ft ==? 'python' | colorscheme IntelliJ | else | colorscheme pyte | endif
注意:由于这些命令在你的 vimrc 文件中,你不需要前导: