Pythonでvimの関数をつくる

一昨日からvim縛りしている。そこそこ使えるようになってきた。
MacVimはデフォルトでPythonで関数を作れるらしいので、やってみた。

UnixTimeをエコーして挿入する

function! Unixtime()
python <<EOM
import time, vim
def make_text():
    return str(int(time.time()))  
buff = vim.current.buffer
line, col = vim.current.window.cursor
insertion_text = make_text()

vim.command('echo '+ insertion_text )
current_line = buff[line-1] 
buff[line - 1 ] = current_line[0:col] + insertion_text + current_line[col:]
vim.current.window.cursor = line  ,  col + len(insertion_text)
EOM
endfunction

:call UnixTime()
で呼び出し
import vimvimのオブジェクトをとってきたらは、あとはPythonの世界なので好き勝手やれる