我在 .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 找到用户定义的函数?
答案1
事实证明,正如@dessert 所建议的那样,使用execute '!bash -ic "myfun %"'
有效。