Home 和 End 键在 putty + vim + xterm 中不起作用

Home 和 End 键在 putty + vim + xterm 中不起作用

我正在使用 putty 通过 ssh 连接到 Ubuntu TERM=xterm-256color

在 vim 中,home 和 end 键无法正常工作。“ Home”键使 vim 进入“ Insert”模式并输入 ' w' 字符。同样,“ ”键使 vim在输入 ' ' 字符之前End进入“ ”模式。Insertq

这些键在 vim 之外也能正常工作。Home 和 End 键将光标置于行首或行末。

另外,当我使用 set 登录时不会发生这种情况TERM=linux。此时 vim 中的 Home 和 End 键可以正常工作。

答案1

最后。经过几个小时的互联网搜索后,我偶然发现了一些我应该早点做的事情。

通过检查"Disable application keypad mode“内部Terminal->Features在PuTTY配置中”来修复它。现在为遇到此问题的任何人解答。

答案2

使用export TERM=putty-256colorPutty 解决了我的 Ubuntu 20 问题。

来源:https://github.com/neovim/neovim/issues/4809

答案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

上面\[是一个字符,直接复制粘贴是行不通的。

相关内容