为什么写在.vimrc 里关于&filetype == 'py'的判断的不起作用呢?

2014-09-21 01:17:37 +08:00
 hatcloud
比如下面这段,作用是按F5实现几种文件的简单运行,但实际操作的时候,对.py文件就不起作用,其他.c,.cpp,.java都是可以通过的。

难道Vim默认是不支持识别.py么?可是.py文件确实可以语法高亮啊。
我只装了三个插件:pathogen,Nerd Tree,Pydiction
难道是Pydiction插件导致的??

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" C,C++,Java,Python按F5编译运行
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!gcc % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
elseif &filetype == 'sh'
:!./%
elseif &filetype == 'py'
:!python%
endif
endfunc
4160 次点击
所在节点    问与答
3 条回复
hatcloud
2014-09-21 01:38:14 +08:00
解决了,我在.vimrc中添加了这么一行
au BufRead,BufNewFile *.py set filetype=py
就OK了,就是Vim识别不了py,所以指定*.py文件为py类型就行了

自言自语号寂寞
wenLiangcan
2014-09-21 09:30:16 +08:00
Vim 称 *.py 文件的 filetype 为 python 而不是 py
hatcloud
2014-09-21 09:35:41 +08:00
@wenLiangcan 谢谢,昨天加上那一行以后,虽然判断语句能用,但却不能语法高亮,我就猜测Vim是识别.py文件的,但类型可能不是py.来V2EX一看就看到你答案了。
茅塞顿开

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134740

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX