Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Zshell别名像!vim内部的gst?_Bash_Vim_Zsh_Aliases - Fatal编程技术网

Bash Zshell别名像!vim内部的gst?

Bash Zshell别名像!vim内部的gst?,bash,vim,zsh,aliases,Bash,Vim,Zsh,Aliases,有没有一种方法可以在vim中运行我的zshell别名,并将输出转到新的拆分 我正在使用oh my zsh的git别名,如gst,但我无法执行:!vim内部的gst 谢谢试试看 :set shell=zsh \-l 并将别名设置设置为~/.zshenv 这是一个类似的问题。@tim green是对的 正如手册页所说: 然后从$ZDOTDIR/.zshenv读取命令。如果shell是登录名 shell,从/etc/zprofile读取命令,然后 $ZDOTDIR/.zprofile。然后,如果she

有没有一种方法可以在vim中运行我的zshell别名,并将输出转到新的拆分

我正在使用oh my zsh的git别名,如
gst
,但我无法执行
:!vim内部的gst

谢谢

试试看

:set shell=zsh \-l

并将别名设置设置为
~/.zshenv

这是一个类似的问题。

@tim green是对的

正如手册页所说:

然后从$ZDOTDIR/.zshenv读取命令。如果shell是登录名 shell,从/etc/zprofile读取命令,然后 $ZDOTDIR/.zprofile。然后,如果shell是交互式的,则从/etc/zshrc读取命令,然后从$ZDOTDIR/.zshrc读取命令

因为您不想在vim中使用交互式shell(至少使用
),所以您唯一的解决方案是在
~/.zshenv
中添加(或
源代码
)您的别名

就这么简单

编辑:不需要进行其他修改,除了放置:

set shell=/bin/zsh

在vimrc中。

在该链接中,他们只是建议
设置shell=zsh \-i
,我尝试过,但结果是
挂起(tty输出)
。@user2736286摆脱
-i
参数。这告诉zsh以交互程序的形式运行,而不是(从vim内部运行时)。但是别名可能不存在,这取决于rc脚本的来源。。。(我不太了解zsh,无法评论您的别名是否将来源于非交互式shell)去掉
-I
参数似乎也不起作用。也许你是对的,我的rc脚本没有来源,但不幸的是,我是一个初学者,不知道如何检查。@user2736286尝试将alias放入~/。zshenv@TimGreen太棒了,成功了!请把它加到你的答案里,我来核对一下。谢谢