Cygwin/Linux下使用vi时,方向键变“A/B/C/D”的解决办法

在某些情况下, vi/vim中的编辑会出现一些很不愉快的情况, 比如在vi/vim中输入方向键有时被转化为A B C D, 或者按个Enter键, 却被转为为其他字母, 恼人得很, 该怎么办呢? 方法如下(在命令行中执行):

1. echo "set nocp" >> ~/.virc    (千万要注意,是>>, 而不是>, 否则把.virc清空了, 丢失了之前的内容)

nocp=no compatible 不兼容模式()

2. source ~/.virc

PS: 

1.如果是vim, 改~/.vimrc 即可。

2. 关于set nocp
该命令指定让 VIM 工作在不兼容模式下。 在 VIM 之前, 出现过一个非常流行的编辑器叫vi。 VIM 许多操作与 vi 很相似, 但也有许多操作与 vi 是不一样的。 如果使用“:setcp”命令打开了兼容模式开关的话, VIM 将尽可能地模仿 vi 的操作模式。

例如:VIM 里允许在 Insert 模式下使用方向键移动光标, 而 vi 里在Insert 模式下是不能移动光标的, 必须使用 ESC 退回到 Normal 模式下才行。

再举一个例子, vi 里使用 u 命令可以撤消一次先前的操作, 再次按下 u时, 将撤消“撤消”这个动作本身, 也就是我们常说的“重复”(redo)。但VIM 里可以使用 u 命令撤消多步操作, “重复”使用的快捷键是 Ctrl+ R。

使用兼容模式后, VIM 将放弃这些新的功能, 尽量模仿 vi 的各种操作方式。只有在不兼容模式下, 才能更好地发挥 VIM 自身的特点。

原文地址:https://www.cnblogs.com/ASAP/p/7753217.html