方向键在 vim 中自发地停止工作

svi*_*gen 32 vim

我最近从 OS X 10.6(我认为)升级到 10.9。从那时起,在 中编辑时vim,箭头键似乎会“自发”停止工作。

有一次,我沮丧地“捣碎”了其中一个箭头键,最终显示“E388 找不到定义”错误。在我经历过的所有其他时间里,箭在工作了一段时间后,突然开始向我发出叮当声

退出并重新打开可以暂时解决问题。但是,我想阻止它!

有谁知道这可能是什么?以及如何修复它?


看起来我的默认值vimrc在更新过程中被修改了。如果我的记忆是正确的,它以前是一个相当大的文件。现在,它只包含这个:

" Configuration file for vim
set modelines=0         " CVE-2007-2438

" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible        " Use Vim defaults instead of 100% vi compatibility
set backspace=2         " more powerful backspacing

" Don't write backup file if vim is being called by "crontab -e"
au BufWrite /private/tmp/crontab.* set nowritebackup
" Don't write backup file if vim is being called by "chpass"
au BufWrite /private/etc/pw.* set nowritebackup
Run Code Online (Sandbox Code Playgroud)

我还不知道这些选项有什么作用。我会研究它 - 但是,希望这里有人比我谷歌和阅读更快地知道......

小智 30

James Hodgkinson 的博客中找到,以下命令对我有用。请注意,它将刷新 vim 屏幕。

:!reset
Run Code Online (Sandbox Code Playgroud)


小智 18

我也遇到过几次这个问题。我碰巧在另一台通过 SSH 登录的计算机上运行 GNU screen。为了解决这个问题,我分离了我的屏幕 ( Ctrl- a d),从机器上注销,重新登录,然后使用screen -x. 它可以在不注销机器的情况下工作,只需分离和重新连接屏幕。不过我想不起来了。


小智 13

/usr/share/vim/我找到.vimrc文件的路径中...在那里我添加了这一行

set term=ansi 
Run Code Online (Sandbox Code Playgroud)

它对我有用。现在箭头键在 Vim 编辑器中正常工作。

  • 这也为我修复了它,因为最新的 Windows 10 WSL/Ubuntu 更新破坏了它。 (4认同)