删除键正在更改Vim中的字母大小写
我想进入维姆。我正在OSX的终端上运行它 每当我点击delete键时,它都会简单地更改该字母的大小写,而不是将其删除。当我SSH到我的服务器并在那里使用Vim时,它会正常删除删除键正在更改Vim中的字母大小写,vim,Vim,我想进入维姆。我正在OSX的终端上运行它 每当我点击delete键时,它都会简单地更改该字母的大小写,而不是将其删除。当我SSH到我的服务器并在那里使用Vim时,它会正常删除 有什么问题吗?问题 Del键在GNU/Linux上的myurxvt终端中生成代码^[[3~,并且可能在您的OS X终端中生成类似的代码 我的理论是Vim出于某种原因不识别delete键的任何键绑定,只是尝试将字符串^[[3~解释为输入。^[/code>是Esc键的键码(将您置于正常模式),而~是用于更改字母大小写(从正常模
有什么问题吗?问题 Del键在GNU/Linux上的my
urxvt
终端中生成代码^[[3~
,并且可能在您的OS X终端中生成类似的代码
我的理论是Vim出于某种原因不识别delete键的任何键绑定,只是尝试将字符串^[[3~
解释为输入。^[/code>是Esc键的键码(将您置于正常模式),而~
是用于更改字母大小写(从正常模式)的Vim命令
您可以通过在Vim的插入模式下按Ctrl+V Esc和Ctrl+V Del来确认我提到的键代码。Ctrl+V意味着下一个字符应该作为文本插入,而不是由编辑器解释
解决方案
至于解决方案,请尝试编辑Vim配置文件(大概是~/.vimrc
):
vim~/.vimrc
并向其附加以下代码:
nmap <Ctrl-V><Del> x
imap <Ctrl-V><Del> <Ctrl-V><Esc>lxi
nmap x
imap lxi
我希望这有帮助:)我在我的OSX机器(vim版本7.2.108)上经常使用vim,我没有这个问题。尝试重命名vimrc文件,然后重新加载vim,看看问题是否仍然存在。如果重命名vimrc文件后没有问题,那么您的问题就在该文件中
在我的机器上,我的vimrc文件几乎是空的:
set ruler
set tabstop=2
set cindent
set number
syntax on
问题是在我的vimrc中
set term = ansi
把它拿出来,一切都很好-很抱歉出现了麻烦,谢谢!好吧,这对我来说花了很长时间才解决。当使用vim时,我在macOSx上的Iterm2中通过gnu屏幕访问Centos5系统。不仅是删除键改变了字母大小写,导致了vim的延迟,而且箭头键也不起作用。我认为问题是simply在Centos5机器上采用了旧配置,但可能与iterm或gnu屏幕有关,但我在任何Centos6系统上都没有遇到过这个问题
什么不起作用:
我编译了vim 7.4,但没有解决它,所以不要走这条路。
我还尝试了这些不起作用的配置
"set term=ansi
"set backspace=indent,eol,start
"set nocompatible
"fixdel
":if &term == "xterm"
":if &term == "xterm-256"
": set t_kD=^V<Delete>
":endif
"nmap <Ctrl-V><Del> x
"imap <Ctrl-V><Del> <Ctrl-V><Esc>xi
此外,您可能还注意到256色在同一系统上有问题。因此,如果有帮助,您可以检查您的TERM环境变量echo$TERM
。如果它是xterm
,您可以将其切换到256色,例如export TERM='xterm-256color
,以使同一系统的配色方案回到正轨。 在我找到解决方案之前,所有这些解决方案都不适用于我
这些解决方案适用于类似的箭头键问题,除了删除键问题之外,我还遇到了箭头键问题
解决方案8为我解决了这个问题,问题是每次进入正常模式时我都将
重新映射到l
,以便向右移动光标,显然这会导致包含^[
(转义码)的任何其他键代码,包括箭头键(^[OA^[OB
等)和删除键(^[[3~
)可能会被误解
从my.vimrc中删除有问题的行修复了问题。您是指Delete键(电脑键盘上的退格)还是Fn Delete(电脑上的删除)?离题:如何将图形键盘按钮添加到StackOverflow帖子中?@一个拥有很长Nick的家伙:使用Del
。在我的例子中,我使用给定的imap
,得到了有趣的结果,我通过将lxi
更改为justxi
。值得一提的是,我在dwm上使用了它。这对我在嵌入式lin上的vim非常有用ssh上的ux设备。需要注意的是,在上述nmap和imap命令中,您不能在.vimrc中键入字符串等,而应按键生成“^[[3~”等.vimrc文件中的“特殊键码”。
set term-builtin_xterm