繁体   English   中英

Linux vi 箭头键在插入模式下损坏

[英]Linux vi arrow keys broken in insert mode

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

我认为你正在使用vim,因为它被标记为Linux。 尝试:

:set nocompatible

(您可能希望通过向其添加此命令来配置.vimrc。如果主目录中尚未存在,请创建新的.vimrc文件,运行echo $HOME以检查主目录路径。)

Ubuntu默认使用vim-tiny ,它没有vim-tiny拥有的所有铃声和口哨声。

做一个快速的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”

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

sudo apt-get update
sudo apt-get install vim

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

echo ':set term=builtin_ansi' >> ~/.vimrc

我有箭头键的相同问题,但是当我使用它时设置nocp或nocompatible然后我的退格键无法正常工作

出于某种原因,当我用sudo apt-get install vim ,vi没有任何箭头或退格的问题了

转换到.vim后使用git后,我遇到了箭头键的问题。

我已安装此repo - 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

在命令行中写这个:

EXINIT="set nocompatible"; export EXINIT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM