101

我的箭头键在家中的插入模式下无法在 vi 中使用,它们只是每个都插入一个换行符和一个大写字母,例如“A”。有没有办法解决这个问题?

4

12 回答 12

112

我假设您使用的是 vim,因为它被标记为 Linux。尝试:

:set nocompatible

(你可能想通过添加这个命令来配置你的 .vimrc 。如果你的主目录中不存在一个新的 .vimrc 文件,请运行echo $HOME以检查主目录路径。)

于 2009-05-01T19:59:39.260 回答
80

Ubuntu 默认附带vim-tiny,它没有 vim 的所有花里胡哨。

快速sudo apt-get install vim了解每个人都在谈论的所有有趣的功能。

于 2009-06-19T20:27:22.453 回答
40

:set term=builtin_ansi

为我修好了。您可以在转义模式下(哔声模式)将其粘贴到 vim 中,也可以将其添加到 ~/.vimrc 的末尾而不带前导“:”

于 2013-08-16T15:33:04.650 回答
18

vi 不支持插入模式下的箭头键。使用 vim。尽管您的 vi 可能只是到 vim 的链接,但它可能被配置为表现得像“原始”vi,从而禁用箭头键。直接调用 vim 就可以了。

于 2009-05-01T19:58:19.733 回答
8

另一个变体:在一些 .vimrc 更改后,这个问题出现在我身上。一致的搜索最终表明,我在正常模式下巧妙地重新映射 ESC 并不是一个好主意。删除它解决了问题:

" this is NOT something you want in .vimrc:
" In normal mode, hitting Esc turns off search highlights:
nmap <ESC> :nohl<CR>  " Do NOT add this to .vimrc
于 2013-05-10T13:19:28.447 回答
7

唯一对我有用的是 ":set term=ansi"

于 2013-03-05T15:51:23.423 回答
4

我在使用箭头键时遇到了同样的问题,但是当我使用设置 nocp 或 nocompatible 时,我的退格键无法正常工作

出于某种原因,当我安装 vim 时 sudo apt-get install vim,vi 不再有箭头或退格的任何问题

于 2017-08-26T20:03:30.263 回答
1

切换到在 .vim 中使用 git 后,我​​只是遇到了箭头键的问题。

我已经安装了这个 repo - https://github.com/sunaku/.vim

在挖了一个小时后,我发现 AutoClose 插件(无论如何都不喜欢)破坏了箭头键。

插件文档建议应该设置 set ttimeoutlen=100,但这对我不起作用!(使用 urxvt+screen 或 urxvt,甚至使用 xterm)

所以我最后删除了插件。

于 2011-07-09T13:51:55.973 回答
1

在 VS Code 上的 WSL 集成终端中,更新包并安装为我工作的完整 vim 包。

sudo apt-get update
sudo apt-get install vim

但是,要使箭头键在我使用 conemu 时起作用,我必须:set term=builtin_ansi添加~/.vimrc

echo ':set term=builtin_ansi' >> ~/.vimrc
于 2021-09-27T05:27:37.053 回答
0

您可能还想尝试“noesckeys”

于 2009-10-05T07:58:56.343 回答
0

我在带有 Cygwin 的 Windows 8.1 中使用 vim 时遇到了同样的问题。

对我有用的解决方案是,只需在 Cygwin 终端中运行以下命令:

cp vimrc_example.vim ~/.vimrc
于 2015-03-17T05:56:19.667 回答
-1

在命令行中写下:

EXINIT="set nocompatible"; export EXINIT
于 2013-08-02T14:58:34.297 回答