为什么我安装 vim 7.4 时 shell 提示消失了?

Why does my shell prompt disappear when I install vim 7.4?

我使用的是 CentOS 6。由于 CentOS 存储库有旧版本的 vim (7.2),我自己编译了。但是,我有一个奇怪的问题。 运行 并退出 vim 后,我发现我的 shell 提示消失了。此外,当我键入时,它不会出现在终端中,也不会出现任何输出。奇怪的是,它看起来好像正在输出东西,因为光标会向下移动屏幕,但我什么都看不到看到

它一定与编译 X 版本有关,因为当我在没有 X windows 支持的情况下编译 vim 时它不会 发生(但是我也想要 gvim)。以下是我在编译时提供的配置选项:

./configure --prefix=$OPT/Cellar/vim/7.4 --with-features=huge --enable-gui=auto --with-x --enable-xim

我也试过不用 Xim 编译。我也尝试过显式设置 --enable-gui=gtk2(这是 CentOS 存储库中的 gvim 7.2 使用的)。

我正在使用 KDE4。 运行 tcsh 和 bash 时都会出现此问题。我也尝试将 $TERM 设置为 xtermxterm-256color

此外,运行 resetstty sane 都没有将 shell 恢复到其正确的行为。

知道为什么我的提示在 运行 vim 时消失了吗?因为我缺少配置标志或其他一些编译问题?

我最终将其追溯到我的 ~/.vimrc 文件中的一个错误。我有一些这样的行:

if has('gui_running')
  # Gvim customization
endif

if has('gui_gtk2')
  # GTK2-specific Gvim customization
endif

第二个块是 运行 每次 vim 加载。因为它改变了一些 window 几何形状,所以最终搞砸了 bash;当我回到 bash 时,bash 认为它只有 ~53 列可以使用(可能还有其他一些东西被搞砸了)。

解决方案:第二个 if 块应该在第一个里面。