VIM: set term=xterm 把<BS>改成<Del>,是否可逆?
VIM: set term=xterm changes <BS> to <Del>, is it reversible?
我已将 set term=xterm
添加到我的 vimrc
以便能够在终端中使用 256 色 vim 方案,但这是有代价的(至少对我而言)。它还在插入模式下用 Delete
替换(某种程度上)BackSpace
(即 BackSpace
开始像 Delete
一样向前删除)并使其成为 "BackSpace"而不是在正常模式下向左移动(或 h
)。我不反对 Ctrl-H 作为一种方式 "to Backspace",但我只是不想在正常模式下有两个删除按钮和能力 "to BackSpace"(向后删除)。
如何在保留我需要的设置的同时撤消该更改?
PS 我已经阅读了 :h CTRL-h
和一些 :h xterm
,但我找不到解决方案。
Vim 的 inoremap
和 nnoremap
命令可用于调整键在 Vim.
中的解释方式
此处针对您的特定上下文记录了一个解决方案:https://conemu.github.io/en/VimXterm.html
相关引用:
“如果您在 term=xterm
时在 ConEmu 下的 Vim 中遇到 BS 问题(BS 就像 Delete 键),您可以尝试重新映射 BS 键:
inoremap <Char-0x07F> <BS>
nnoremap <Char-0x07F> <BS>
"
一般来说,当一个键没有做你想做的事情时,诀窍是找出它实际发送给 Vim 的是什么。有时在插入模式下按 Ctrl-V 然后按该键可能有助于解决问题。然后可以使用如上所示的 inoremap 和 nnoremap 分别将其重新分配给您在插入模式和正常模式下想要的行为。
我已将 set term=xterm
添加到我的 vimrc
以便能够在终端中使用 256 色 vim 方案,但这是有代价的(至少对我而言)。它还在插入模式下用 Delete
替换(某种程度上)BackSpace
(即 BackSpace
开始像 Delete
一样向前删除)并使其成为 "BackSpace"而不是在正常模式下向左移动(或 h
)。我不反对 Ctrl-H 作为一种方式 "to Backspace",但我只是不想在正常模式下有两个删除按钮和能力 "to BackSpace"(向后删除)。
如何在保留我需要的设置的同时撤消该更改?
PS 我已经阅读了 :h CTRL-h
和一些 :h xterm
,但我找不到解决方案。
Vim 的 inoremap
和 nnoremap
命令可用于调整键在 Vim.
此处针对您的特定上下文记录了一个解决方案:https://conemu.github.io/en/VimXterm.html
相关引用:
“如果您在 term=xterm
时在 ConEmu 下的 Vim 中遇到 BS 问题(BS 就像 Delete 键),您可以尝试重新映射 BS 键:
inoremap <Char-0x07F> <BS>
nnoremap <Char-0x07F> <BS>
"
一般来说,当一个键没有做你想做的事情时,诀窍是找出它实际发送给 Vim 的是什么。有时在插入模式下按 Ctrl-V 然后按该键可能有助于解决问题。然后可以使用如上所示的 inoremap 和 nnoremap 分别将其重新分配给您在插入模式和正常模式下想要的行为。