Fork me on GitHub

自定义打开文件的行为

在ex-project中打开文件

在exvim中,你可以通过直接修改代码的形式自定义ex-project打开文件的行为. 主要通过编辑ex-project/autoload/exproject.vim, 找到exproject#confirm_select,添加你的代码.

在ctrlp中打开文件

ctrlp插件提供自定义的方式, 例子如下:

let g:ctrlp_open_func = { 'files': 'CustomOpenFunc' }
function! CustomOpenFunc(action, line)
 echomsg a:line
 let filetype = fnamemodify( a:line, ':e' )
 " echomsg filetype
 " silent echohl None
 if filetype == 'mp3'
 let playmp3cmd = 'mpg123'
 execute "silent !" .playmp3cmd.' '.a:line
 return
 elseif filetype == 'png'
 let imagecmd = 'gthumb'
 execute "silent !" .imagecmd.' '.a:line
 return
 elseif filetype == 'jpg'
 let imagecmd = 'gthumb'
 execute "slient !" .imagecmd.' '.a:line
 return
 else
 " Use CtrlP's default file opening function
 call call('ctrlp#acceptfile', [a:action, a:line])
 endif
endfunction

AltStyle によって変換されたページ (->オリジナル) /