3

已解决:问题是我的 .vimrc 中的这一行:

set shell=/bin/bash\ -li

更新:看来问题是由于我的 .vimrc (将 .vimrc 重命名为“隐藏”它解决了问题),所以它可能与 Mint 无关。

我正在运行 Linux Mint 17 Cinnamon。当我vim -d file otherversion在终端中运行时,我得到一个空白屏幕

"otherversion" 18L, 218C
[1]+  Stopped                 vim -d file otherversion
user@machine:~/path/to/directory$ ;2R

如果我这样做fg 1,终端窗口就会关闭。此外,虽然我可以打字,但没有闪烁的光标。与vimdiff而不是相同vim -d。我尝试了多种 vim 发行版,有些包含 GUI,有些不包含。

但是,对于包含 GUI 的版本,如果我运行vim -d -g file otherversion,它会按预期工作。

我宁愿不依赖 gvim 来使用 vimdiff。

有什么建议吗?

谢谢

4

3 回答 3

4

如果您需要交互式 bash shell(例如获取 bash 别名),请在您的代码中使用此代码,.vimrc而不是删除该选项:

if &diff == 'nodiff'
    set shellcmdflag=-ic
endif

这只会在不运行时启用交互式 bash shell vimdiff,以便在运行时拥有 bash 别名vim

于 2014-11-06T20:42:49.970 回答
2

从我的 .vimrc 中删除以下行后,问题就消失了:

set shell=/bin/bash\ -li
于 2014-08-11T00:54:42.167 回答
1

感谢@FDinoff 的评论,我的同样问题得到了解决。

问题是我的 ~/.cshrc 中的“bash”命令。

我这样做是为了避免每次登录后都进入 bash。在我以前打开 vimdiff 时开始出现这个问题之前,它工作正常。

删除 ~/.vimrc 也没有帮助我。然后我阅读了 Fdinoff 的评论。在那里,他建议它可能与shell有关,如果“less”和“man”也停止工作。我在我的案例中观察到了同样的问题,这帮助我排除了 .vimrc 中的损坏。

从我的 ~/.cshrc 中删除“bash”后,问题就完全消失了。

于 2020-09-14T09:18:21.393 回答