我的箭头键在家里的插入模式下的 vi 中不起作用,它们只是插入一个换行符和一个大写字母,例如“A”。有办法解决吗?
我猜你正在使用 vim,因为它被标记为 Linux。尝试:
:set nocompatible
(您可能想通过添加此命令来配置您的 .vimrc。如果您的主目录中尚不存在,请创建一个新的 .vimrc 文件,运行
echo $HOME
检查主目录路径。)
Ubuntu 默认附带
vim-tiny
,它没有 vim 所具有的所有功能。
快速完成
sudo apt-get install vim
以获得每个人都在谈论的所有有趣功能。
:set term=builtin_ansi
为我修好了。您可以在转义模式(哔声模式)下将其粘贴到 vim 中,或者将其添加到 ~/.vimrc 的末尾,而不带前导“:”
vi 在插入模式下不支持箭头键。使用vim。尽管您的 vi 可能只是 vim 的链接,但它可能被配置为像“原始”vi 一样运行,从而禁用箭头键。直接调用vim就可以了。
还有另一种变化:在对 .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
唯一对我有用的是“:set term=ansi”
我在使用箭头键时遇到了同样的问题,但是当我使用设置 nocp 或 no兼容时,我的退格键无法正常工作
由于某种原因,当我安装 vim 时
sudo apt-get install vim
,vi 不再有任何箭头或退格键问题
在 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
在 .vim 中切换到使用 git 后,我刚刚遇到了方向键问题。
我已经安装了这个仓库 - https://github.com/sunaku/.vim
经过一个小时的研究,我发现 AutoClose 插件 (反正不喜欢)把方向键弄坏了。
插件文档建议应该设置 set ttimeoutlen=100,但是 那对我不起作用! (使用 urxvt+screen 或 urxvt,甚至 xterm)
所以我最后删除了插件。
您可能还想尝试“noesckeys”
我在 Windows 8.1 和 Cygwin 中使用 vim 时遇到了同样的问题。
对我有用的解决方案是,只需在 Cygwin 终端中运行以下命令:
cp vimrc_example.vim ~/.vimrc
为了支持 vi 和 vim,我在用户主文件夹 (~) 的 .vimrc 文件中至少使用了以下内容:
set nocompatible
set term=ansi
set backspace=indent,eol,start
在命令行中写下:
EXINIT="set nocompatible"; export EXINIT