use python in vim script of ~/.vimrc


 

</pre><pre name="code" class="html"><pre name="code" class="html">function! My_Save_CompareFileName() 

  let str = expand("%:p") 

  let sstr = s:Escape(str) 

  execute ":!echo '".str."' > /dev/shm/beyond_compare_file_a" 

endfunction 

nmap <silent> <leader>ba :call My_Save_CompareFileName()<cr><cr> 

 

function! My_CompareToFileName() 

    let _cmd_ = 'cat /dev/shm/beyond_compare_file_a' 

    echo _cmd_ 

    let _resp = system(_cmd_) 

    let g:select_for_compare_file1 = substitute(_resp, '\n', '', 'g') 

    unlet _cmd_ 

    unlet _resp 

    let g:select_for_compare_file2 = expand("%:p") 

    echo g:select_for_compare_file2 

    let l:cmd_text = "!bcompare "."\"".g:select_for_compare_file1."\""." \"".g:select_for_compare_file2."\" \&" 

    execute l:cmd_text 

    unlet l:cmd_text 

endfunction 

nmap <silent> <leader>bb :call My_CompareToFileName()<cr><cr> 

 

function! My_Python4CompareToFileName() 

    if has("python") 

    "learn use python in vim script from autotag.vim 

python << EEOOFF 

import fileinput 

import vim 

try: 

    input = fileinput.FileInput("/dev/shm/beyond_compare_file_a") 

    select_for_compare_file1 = input.readline() 

    vim.command("let g:select_for_compare_file1=%s" % select_for_compare_file1) 

finally: 

    input.close() 

EEOOFF 

    endif  

    let l:cmd_text = "!bcompare "."\"".g:select_for_compare_file1."\""." \"".g:select_for_compare_file2."\" \&" 

    echo g:select_for_compare_file2 

    execute l:cmd_text 

    unlet l:cmd_text 

endfunction 

nmap <silent> <leader>bc :call My_Python4CompareToFileName()<cr><cr> 

 

function! Select_for_compare() 

    let g:select_for_compare_file1 = expand("%:p") 

    echo g:select_for_compare_file1 

endfunction 

"nmap <silent> <leader>ba :call Select_for_compare()<cr> 

 

function! Compare_to_selected() 

    let g:select_for_compare_file2 = expand("%:p") 

    echo g:select_for_compare_file2 

    let l:cmd_text = "!bcompare "."\"".g:select_for_compare_file1."\""." \"".g:select_for_compare_file2."\" \&" 

    echo g:select_for_compare_file2 

    execute l:cmd_text 

    unlet l:cmd_text 

endfunction 

"nmap <silent> <leader>bb :call Compare_to_selected()<cr> 

摘自 ZhengKarl的专栏

相关内容

    暂无相关文章

评论关闭