您的位置:首页 > 编程语言 > Python开发

use python in vim script of ~/.vimrc

2011-12-01 22:50 495 查看
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>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: