我尝试从here
实施Ingo的答案版本在我的_vimrc
文件中,我有以下内容:
:autocmd BufEnter,FileType * if &ft ==# 'sql' colorscheme SummerFruit256 | elseif &ft ==? 'python' | colorscheme IntelliJ | else | colorscheme pyte | endif
我从Ingo的答案中取出了\
个字符并尝试在一行中完成,但我仍然得到了E15。
如何在这些vim脚本中处理空格?为什么这个脚本不起作用?
答案 0 :(得分:2)
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文件中,因此您不需要前导: