我尝试使用 vi 编辑 .tex 文件。进入插入模式后,我开始使用箭头键找到所需的行。但是,编辑器并没有找到该行,而是开始为每个箭头键打印 A、B、C、D。
有谁遇到过这样的问题吗?
答案1
这不太可能与乳胶有任何关系。
箭头键没有单字符代码;相反,它们发送控制序列。例如,向上箭头键通常发送ESC [ A
。 vi
使用termcap
或terminfo
(现在更有可能是后者)根据$TERM
环境变量指定的它认为您拥有的终端类型来解释这些序列。例如,您可以通过control-V
在 shell 提示符下键入后跟向上箭头来查看这些序列(control-V
表示按字面意思解释下一个字符)。
显然vi
没有足够的信息来了解其ESC [ A
含义。
还有一组备用代码;例如,向上箭头可能发送ESC O A
。在 中xterm
,可以通过按住 Control 键并单击鼠标中键来切换此模式,然后启用或禁用“应用程序光标键”。
还请注意,您可以使用h
、j
、k
和l
分别表示左、下、上、右。一旦习惯了,这会比箭头键更容易使用;您不必将右手移出键盘的主行。
echo $TERM
在 shell 提示符下输入 ,输出是什么?你使用的是什么终端仿真器( xterm
,等等)?你使用的是什么版本的vi
(vim
,其他的?)你使用的是什么操作系统?你使用的是 Cygwin 吗?
答案2
我在 SunOS 上使用 PuTTY 时也遇到了同样的问题。找到提示说要创建一个~/.vimrc
文件。由于我的主目录中没有文件,因此运行touch .vimrc
解决了我的问题。它还使退格键正常工作。