<s-f3>的映射表现不像</s-f3>

时间:2012-10-10 06:19:54

标签: vim

我在.vimrc文件(适用于所有文件类型)中有此映射。

nnoremap <F3> a<C-R>=strftime("%a %d %b %Y %r")<CR><Esc>
inoremap <F3> <C-R>=strftime("%a %d %b %Y %r")<CR>

我的python.vim (位于after/ftplugin/中有:

nnoremap <S-F3> :up<cr>
inoremap <S-F3> <esc>:up<cr>a

F3 的映射在正常模式和插入模式下均可正常工作。但是对于 Shift + F3 映射,它应该保存当前文件。但它会在当前行上方插入一些意外字符,即 1;2R 。我不知道它代表什么。


更新

这是:verbose nmap <S-F3>

的输出
n  <S-F3>      * :up<CR>
        Last set from ~/.vim/after/ftplugin/python.vim

正是缩进。

1 个答案:

答案 0 :(得分:4)

这与终端处理密钥的方式有关。通过按C-v然后按键,当您按下某个键时,您始终可以看到实际发送到程序的内容。这也适用于Vim。

解决方案:

1 - 在你的vimrc中输入nnoremap部分的地图,最后有一个空格。

2 - 击中C-v然后击中S-F3。在我的机器上打印^[[25~,这是您的终端发送给Vim的内容。

3 - 在键入:up<cr>之前再添加一个空格。

它应如下所示:nnoremap ^[[25~ :up<cr>