" Python logger-print and vice-versa
function! SetPrintLogMaps()
echom "called"
nnoremap <buffer> <Leader>lp "lyy"lp"l5cawprint^[
nnoremap <buffer> <Leader>ll "lyy"lp"lcawself.logger.info(^O$)^[
endfunction
autocmd BufWrite,BufRead *.py :call SetPrintLogMaps()
我有这个autocmd,所以只有在读取或写入python脚本时才设置映射。但是当我打开任何python脚本时,函数没有被调用。
我刚刚发现如果我从命令行打开脚本就好了
vim test.py
它不起作用。
但是,如果我只是打开vim
然后执行:e test.py
,则会调用该函数。
答案 0 :(得分:1)
您应该使用FileType
事件:
augroup myPythonStuff
autocmd!
autocmd FileType python call SetPrintLogMaps()
augroup END
更好,把它放在~/.vim/after/ftplugin/python.vim
:
nnoremap <buffer> <leader>lp "lyy"lp"l5cawprint^[
nnoremap <buffer> <leader>ll "lyy"lp"lcawself.logger.info(^O$)^[
并称之为一天。