我在我的 .bashrc 文件中定义了一个 bash 函数,例如“myfun”。现在我想在 vim 中执行这个函数
function vimfun(filename)
execute '!myfun' '%'
endfunction
我想将此函数映射到下面的 vim 键映射:
autocmd FileType bla nmap <buffer> <LocalLeader>pp :let a=@% <CR>:call vimfun(a)<CR>
但是,当我执行该函数时,它抱怨找不到命令 myfun。我添加了执行 'source ~/.bashrc' 但它会产生更多错误。
有什么解决方案可以让 bash 找到用户定义的函数?
事实证明,正如@dessert 建议的那样,使用
execute '!bash -ic "myfun %"'
有效。