在某些情況下, 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 自身的特點。