我在Ubuntu服务器上,通过我的mac sshd。我的键盘上方|
键上方的键称为delete
,但它在我的mac上作为backspace
运行,删除光标前的字符。我按了control-delete
来删除光标后删除字符的删除。
在我修复任何内容之前,在插入模式下点击delete
键(在服务器上通过ssh)将^?
插入到文本中。
我读过这个网站:http://vim.wikia.com/wiki/Backspace_and_delete_problems 我输入的地方
:fixdel
:set backspace=indent,eol,start
进入我的.vimrc。但是现在我的键充当delete
键,按下它会删除光标后的字符,但是我希望它在光标之前删除字符。如何切换此功能?
基本上即使我的密钥在物理上称为删除,它在我的mac上作为退格操作,我希望它在服务器上通过ssh使用vim时作为退格操作。
答案 0 :(得分:1)
如果您已经有:fixdel
,那么您可以使用此命令指示Vim在插入模式下将删除解释为 Backspace :
:inoremap <delete> <backspace>
在某些配置中,这可以重新映射所有删除键。
或者,如果没有:fixdel
,那么^?
也应该可以重新映射,如下所示:
:inoremap ^? <backspace>
请注意,此处^?
是您键入“已损坏”键时显示的内容,应该可以将其作为两个键的序列输入,其中第一个是特殊的“转义”键:< kbd> Ctrl-V 删除。效果应该是相同的,除非键盘代码在中间某处被破坏(即Vim在其输入上获得无效序列)。