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



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

它一定与编译 X 版本有关,因为当我在没有 X 窗口支持的情况下编译 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

此外,既不运行 reset 也不运行 stty sane 会将 shell 恢复到其正常行为。

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

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

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

每次加载 vim 时,第二个块都在运行。因为它改变了一些窗口几何形状,所以最终弄乱了 bash;当我回到 Bash 时,Bash 认为它只有 ~53 列可以使用(可能还有其他一些事情搞砸了)。

解决方案:第二个if块应位于第一个块内。

最新更新