【发布时间】:2010-11-26 10:58:10
【问题描述】:
我对 Vim 中默认的 python 语法高亮感到恼火。
它没有正确突出显示else: 语句。
如果我在else 和冒号: 之间有一些空格,Vim 只会突出显示 else 语句,所以 else : 有效,但 else: 无效。
它必须很容易修复。
我正在使用 Vim 7.2
【问题讨论】:
标签: python vim syntax-highlighting vim-syntax-highlighting
我对 Vim 中默认的 python 语法高亮感到恼火。
它没有正确突出显示else: 语句。
如果我在else 和冒号: 之间有一些空格,Vim 只会突出显示 else 语句,所以 else : 有效,但 else: 无效。
它必须很容易修复。
我正在使用 Vim 7.2
【问题讨论】:
标签: python vim syntax-highlighting vim-syntax-highlighting
在我的 ~/.vim/syntax/python.vim 文件中,我有一行
syn keyword pythonConditional else:
解决了这个问题。
【讨论】:
这会定期弹出,我已经把它放在我的 vimrc 中:
" No seriously, else: is the same as else
autocmd BufEnter,BufRead,BufNewFile *.py set iskeyword-=:
【讨论】:
我的 vimrc 文件中有以下语句。这使得 else: 被标记为一个词。删除 else: 语法突出显示效果很好。
set iskeyword+=:
【讨论】:
+=: 对我没有影响,-=: Mark Roberts 提到过。
set iskeyword+=: 是要删除的违规行。
注意文件在
/usr/share/vim/vim72/syntax/python.vim
由于某种原因不是最新的。
从http://www.vim.org/scripts/script.php?script_id=790获取最新版本的语法高亮文件
【讨论】:
启用文件类型的东西,以便自动设置。 我在这里为 vim 设置了 python 自动缩进和语法高亮设置: http://www.pixelbeat.org/settings/.vimrc
【讨论】:
它应该默认工作。
寻找类似这样的文件:
/usr/share/vim/vim72/syntax/python.vim
那里应该有一行看起来像这样:
syn keyword pythonConditional if elif else
如果没有,请进一步调查。 elif 有效吗?
【讨论】: