xterm或AAABBBBBBCCDDDDD问题中的TERM =(linux | xterm)vi

伊皮

通常,当我想vim在桌面konsole会话中运行,请确保将TERM变量设置为,linux因为箭头键在插入模式下不起作用TERM=xterm它们显示大写字母A..D而不是移动光标。

现在我认为这是错误的处理方式,konsole或者xterm实际上是类型错误的xterm

是否有更好的方法使箭头键在vi/下工作vim

操作系统:Kubuntu 13.04(全新安装)

斯蒂芬·查泽拉斯(Stephane Chazelas)

我想我知道发生了什么事。

您尚未配置vim为禁用vi兼容模式。

在中vi,您只能在命令模式下按箭头键在插入模式下,按箭头键发送的字符序列被视为单独输入字符。

现在,在启动时,vi将终端设置为键盘发送模式(kx)。在那种模式下,终端通常在按下箭头键时发送字符序列,而不是按下时发送不同的字符序列。

例如,Up密钥\eOA以kx模式发送\e[A否则不发送

要将终端设置为kx模式,它将smkx在terminfo数据库中查找(设置模式小键盘传输)功能以获取当前值$TERM

如果你看smkx能力xtermkonsole并且linux,你看:

$ infocmp -1 linux | grep smkx
$ infocmp -1 xterm | grep smkx
    smkx=\E[?1h\E=,
$ infocmp -1 konsole | grep smkx
    smkx=\E[?1h\E=,

这是smkx不是在定义linux条目。

这意味着,当您以开头vimTERM=linux,vim不会将终端设置为kx模式,这意味着它将发送\e[A而不是例如\eOA在您按下Up发送

现在,\eOA当您处于插入模式时在vim中什么\e(ESC),退出插入模式并返回命令模式。O打开新行并再次进入插入模式,A插入A字符。

虽然\e[A\e(ESC)叶插入模式,[A是一个未知的组合(vim[是一个前缀,后面总是跟着另一个字符),所以什么也不做。

所以,你需要做的是:保持$TERM原样,不要用箭头插入模式键在vi兼容时或添加set nocp到您~/.vimrc在插入模式,所以你可以使用方向键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Linux:查找并执行并发 xterm

来自分类Dev

迁移到UTF-8后SSH下的Linux xterm / rxvt / console中的问题

来自分类Dev

获取Linux“屏幕”以识别xterm鼠标单击cols> 95

来自分类Dev

基于VT100的xterm,xterm-color和linux终端仿真器在什么程度上?

来自分类Dev

为什么gnome-terminal $ TERM显示xterm

来自分类Dev

为什么gnome-terminal $ TERM显示xterm

来自分类Dev

什么时候将$ TERM从“ dumb”替换为“ xterm”?

来自分类Dev

如何在C中的Linux应用程序中为xterm调整字体颜色

来自分类Dev

配置文件中的“ Xterm”或“ xterm”

来自分类Dev

在xterm内设置xterm的scaleHeight属性

来自分类Dev

如何执行Xterm

来自分类Dev

xterm无法加载字体

来自分类Dev

设置xterm文字颜色

来自分类Dev

xterm有什么缺点?

来自分类Dev

xterm中的Emacs命令

来自分类Dev

卸下Xterm终端

来自分类Dev

xterm窗口定位

来自分类Dev

无法从xterm启动konsole

来自分类Dev

xterm颜色太亮

来自分类Dev

Xterm设置标题?

来自分类Dev

xterm不使用.Xresources

来自分类Dev

术语,Xterm或Uxterm?

来自分类Dev

xterm unicode字体

来自分类Dev

使xterm使用unifont

来自分类Dev

xterm 中的错误颜色

来自分类Dev

在Linux xterm中将整个文件复制到剪贴板(但不是默认的+或*注册表)

来自分类Dev

Xterm.js:如何隐藏xterm-helper-textarea?

来自分类Dev

为什么命令“ xterm xterm”会创建无限递归?

来自分类Dev

用Linux替代VI宏