vim环境下命令无法执行

vim环境下命令无法执行

mycommand是我的 lib/work.sh 文件中的一个函数。

cat .bashrc
source /home/lib/work.sh

这意味着它mycommand是自动获取的。
mycommand可以在终端执行。
现在要编辑文件vim test.txtshift+"进入vim的命令模式,输入!mycommand

/bin/bash: mycommand: command not found

shell returned 127

Press ENTER or type command to continue

为什么mycommand在vim中找不到?

答案1

有不同类型的贝壳 -登录 Shell 和非登录 Shell 之间的区别? (寻找该.bashrc部分)

并非所有这些都是采购,.bashrc因此work.sh没有采购。

要解决您的问题,您需要导出函数以使其可用于子 shell。

我可以在 bash 中“导出”函数吗?

myfun() {
    echo "Hello!"
}

export -f myfun

--

vim
:!myfun

作品!

相关内容