我正在使用 putty 通过 ssh 连接到 Ubuntu TERM=xterm-256color
。
在 vim 中,home 和 end 键无法正常工作。“ Home
”键使 vim 进入“ Insert
”模式并输入 ' w
' 字符。同样,“ ”键使 vim在输入 ' ' 字符之前End
进入“ ”模式。Insert
q
这些键在 vim 之外也能正常工作。Home 和 End 键将光标置于行首或行末。
另外,当我使用 set 登录时不会发生这种情况TERM=linux
。此时 vim 中的 Home 和 End 键可以正常工作。
答案1
最后。经过几个小时的互联网搜索后,我偶然发现了一些我应该早点做的事情。
通过检查"Disable application keypad mode
“内部Terminal
->Features
在PuTTY配置中”来修复它。现在为遇到此问题的任何人解答。
答案2
使用export TERM=putty-256color
Putty 解决了我的 Ubuntu 20 问题。
答案3
当我更改为 screen-256color 或 tmux-256color 时出现了这种行为,所以我不想更改我的 terminfo。
如果您像我一样对您的 TERM 设置感到满意,您也可以进行快速修复以重新配置,如下所示:
:set <Home>=<press Ctrl-V><press Home>
:set <End>=<press Ctrl-V><press End>
上面set <Home>=
是您输入的文字,其余的是您在键盘上按下的内容。按Ctrl-V
+Key
可添加按下按键产生的文字字符。
试用并将上述命令添加到您的 .vimrc 以使更改永久生效。您还可以测试 TERM 变量:
if $TERM =~ '\v^(screen|tmux).*'
set <Home>=^[OH
set <End>=^[OF
endif
上面\[
是一个字符,直接复制粘贴是行不通的。