为用户定义的 bash 函数定义 vim 键映射

为用户定义的 bash 函数定义 vim 键映射

我在 .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 %"'有效。

相关内容