zsh 直到终端关闭才会打开 vim 或 gvim

zsh 直到终端关闭才会打开 vim 或 gvim

当我尝试从终端启动vim或(或程序尝试执行此操作,如)时。它直到终端关闭时才会打开,它只是待在那里,以为程序已启动。gvimgit rebase --interactive

如果我附加,该程序甚至不会打开&,但我可以像往常一样使用终端。

我该如何修复这个问题或者至少弄清楚发生了什么?


根据要求输出type vim

vim is /usr/bin/vim

答案1

是由于我的以下行.vimrcset shell=zsh\ -i

我必须以交互模式设置 shell 以确保.zprofile已加载,否则将不会设置附加内容$PATH,因此我无法使用 gVim 内部的某些命令。

因此不幸的是我要么必须:

  • 使用与终端不同的编辑器
  • 不要将 vim 的 shell 设置为交互的

答案2

也许设置 shellcmdflag?

我认为您可以使用其他开关来.vimrc设置 shell 命令行参数。

set shell=zsh
set shellcmdflag=-i

您可以在其中vim阅读有关这些选项:help shell:helpshellcmdflag 的更多信息。

通过以下方式直接调用 shell-c

另外,你也可以像这样访问 shell:

:!bash -c ". ~/.alias; gitlog"

别名gitlog在文件中的位置~/.alias。将其更改为以zsh满足您的需求,我只是向您展示方法。

2 其他选​​择

这些 SO 和 SU 问答中讨论了另外两种方法,可能也会有帮助。

参考

相关内容