I'm getting annoyed with the default python syntax highlighting in Vim.
It does not highlight the else:
statement correctly. Vim only highlights the else statement if I have some white space between the else
and the colon :
, so else :
works, but else:
does not.
It must be easy to fix.
I'm using Vim 7.2
I had below statement in my vimrc file. This made else: be tokenized as one word. After removing that else: syntax highlighting works just fine.
set iskeyword+=:
It should work by default.
Look for a file that is something like this:
/usr/share/vim/vim72/syntax/python.vim
There should be a line there that looks like this:
syn keyword pythonConditional if elif else
If not, investigate further. Does elif
work?
Note that the file in
/usr/share/vim/vim72/syntax/python.vim
is not up to date for some reason.
Get the most recent version of the syntax highlight file from http://www.vim.org/scripts/script.php?script_id=790
This periodically pops up, and I've taken to putting this in my vimrc:
" No seriously, else: is the same as else
autocmd BufEnter,BufRead,BufNewFile *.py set iskeyword-=:
Enable the filetype stuff so things are setup automatically. I've python auto indenting and syntax highlighting setup for vim here: http://www.pixelbeat.org/settings/.vimrc
In my ~/.vim/syntax/python.vim file, I have a line
syn keyword pythonConditional else:
which solves this problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.