我最近开始使用 gnu-screen。在 vimrc 中,我有 2 个如下所示的键盘映射,以帮助在 vim 分割窗口之间轻松导航
nmap <S-Left> <C-w><Left>
nmap <S-Right> <C-w><Right>
从普通 shell 运行 vim,上述导航键映射按预期工作。
从 gnu-screen 会话运行 vim,这些键映射失败,它们反而删除了这些行!!
我尝试了以下方法:
- 在 vimrc 中设置 term=xterm
- 设置 t_kr=^[[1;2C (我错误地认为 t_kr 将有助于正确地进行“右移”)
但未能修复。这里有人可以帮忙吗?
答案1
找到解决办法!
使用bindkey/东西来自 gnu-screen 和命令行从 vim,我更新了我的 screenrc:
# Shift + Up-arrow
bindkey ^[[1;2A stuff ":wincmd k^M"
# Shift + Down-arrow
bindkey ^[[1;2B stuff ":wincmd j^M"
# Shift + Right-arrow
bindkey ^[[1;2C stuff ":wincmd l^M"
# Shift + Left-arrow
bindkey ^[[1;2D stuff ":wincmd h^M"
注意:要在 vim-insert 模式下添加“^M”,请使用:Ctrl+v,然后按 ENTER