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可能会导致不良后果。