一段时间启动vi时,总出现vi没有响应的情况。 现象是输入vi命令后,vi窗口显示不出来,并且此时终端也没有响应,不能输入任何命令。只能用ssh再登录一个终端,在新登录终端上使用kill命令杀死此vi进程,此时运行vi的终端中显示如下信息:
*** info [lib/liblow.c(329)]: /dev/gpmctl: Interrupted system call *** err [lib/liblow.c(336)]: /dev/gpmctl: No such device or address Vim: Caught deadly signal TERM Vim: Finished. Terminated
在偶然中发现,使用putty登录这台服务器时,运行vi命令没有问题。因此怀疑和TERM环境变量的设置有关。检查putty中此环境变量:
$ echo $TERM xterm
而在vi没响应的终端里,TERM环境变量的值为:
$ echo $TERM linux
如果把TERM环境变量的值也改成xterm,那么vi可以正常启动。看来的确是TERM环境变量引起的这个问题。后来又发现,如果在linux screen中启动vim的话(此时TERM环境变量的值为screen),vim也不能正常启动。 继续阅读