当我尝试从终端启动vim
或(或程序尝试执行此操作,如)时。它直到终端关闭时才会打开,它只是待在那里,以为程序已启动。gvim
git rebase --interactive
如果我附加,该程序甚至不会打开&
,但我可以像往常一样使用终端。
我该如何修复这个问题或者至少弄清楚发生了什么?
根据要求输出type vim
:
vim is /usr/bin/vim
答案1
是由于我的以下行.vimrc
:set shell=zsh\ -i
我必须以交互模式设置 shell 以确保.zprofile
已加载,否则将不会设置附加内容$PATH
,因此我无法使用 gVim 内部的某些命令。
因此不幸的是我要么必须:
- 使用与终端不同的编辑器
- 不要将 vim 的 shell 设置为交互的
答案2
也许设置 shellcmdflag?
我认为您可以使用其他开关来.vimrc
设置 shell 命令行参数。
set shell=zsh
set shellcmdflag=-i
您可以在其中vim
阅读有关这些选项:help shell
和:help
shellcmdflag 的更多信息。
通过以下方式直接调用 shell-c
另外,你也可以像这样访问 shell:
:!bash -c ". ~/.alias; gitlog"
别名gitlog
在文件中的位置~/.alias
。将其更改为以zsh
满足您的需求,我只是向您展示方法。
2 其他选择
这些 SO 和 SU 问答中讨论了另外两种方法,可能也会有帮助。