[英]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.