Screen + vim导致shift输入插入'M'和换行符

时间:2020-03-05 18:53:35  来源:igfitidea点击:

在gnu屏幕上运行vim实例时,按shift键在插入模式下输入,会先加上'M',然后加上换行符,而不仅仅是换行符。

是否有人知道问题可能在哪里或者在哪里寻找?

相关系统信息:

Ubuntu 8.04.1
  
  Screen version 4.00.03 (FAU) 23-Oct-06
  
  VIM - Vi IMproved 7.1 (2007 May 12, compiled Jan 31 2008 12:20:21)
    Included patches: 1-138
  
  Konsole 1.6.6 (Using KDE 3.5.10)

感谢评论。当检查$ TERM的值时,我注意到它是xterm(如预期的那样),但是在屏幕中$ TERM被设置为screen-bce。在启动屏幕后设置" TERM = xterm"可以解决此问题。

〜/ .screenrc中添加以下内容可以解决此问题,而无需手动执行任何操作:

term xterm

解决方案

回答

问题缺少信息:

  • 我们在哪里运行屏幕并看到此问题?一些终端应用程序(KTerminal,Gnome终端,虚拟控制台等)或者远程会话(例如,腻子,另一台计算机上的ssh)
  • 做一个回声$ TERM并告诉我们它的输出
  • 做一个猫-v,按Shift-Enter,然后按Enter,然后按Ctrl-D,然后告诉我们输出了什么。

回答

首先,我们可以在Konsole中修复$ TERM。安装" ncurses-term"并配置konsole以设置$ TERM = konsole-256color。然后用" term screen-256color"配置屏幕。或者,分别选择" konsole"和" screen"。 Konsole和screen不是xterm,也不支持xterm的所有功能,因此使用不正确的$ TERM可能会导致不良后果。