function! My_Save_CompareFileName() let str = expand("%:p") let str = 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>