使用vim进行svn diff,但使用正确的文件类型

use*_*978 3 svn vim file-type

这篇博文提供了一个使用Vim的简单方法svn diff.不幸的是,Vim不理解左侧文件类型,所以没有语法高亮.解决这个问题最简单/最好的方法是什么?

too*_*php 8

将以下代码添加到~/.vim/filetype.vim:

" only load filetypes once
if exists("did_load_filetypes")
  finish
endif

augroup filetypedetect

" when BufRead or BufNewFile event is triggered, pop off the .svn-base extension and
" manually restart filetype autocommands
autocmd! BufRead    *.svn-base execute 'doautocmd filetypedetect BufRead ' . expand('%:r')
autocmd! BufNewFile *.svn-base execute 'doautocmd filetypedetect BufNewFile ' . expand('%:r')

augroup END

正如评论所述,此代码将拾取.svn-base文件并尝试在没有该扩展的情况下找出文件类型.

:help new-filetype
:help :doautocmd
:help expand()