.vimrc中的Map Shift + F3


14

当将vimgrep与结合使用时lv expr path/**,我希望有一个浏览结果的快捷方式。所以我将F3键映射如下:

nnoremap <F3> :lnext<CR>

现在我想做如下的事情

nnoremap <SHIFT-F3> :lprevious<CR>

但这并没有达到预期的效果。我该如何映射F键SHIFT

更新:

解决方案有点困难。在终端中,您不能仅映射Shift+ F3。实际上,必须添加如下类似的附加行:

set <S-F3>=^[O1;2R
nnoremap <S-F3> :lprevious<CR>

但是您无法复制并粘贴此内容,请参见下面正确答案中的链接。

Answers:


15

您在控制台中使用Vim,而不是GVIM,对吧?除普通功能键外的其他任何问题都存在,最好避免。尝试改用像这样的前缀<Leader>。如果您确实希望这样做,可以尝试http://vim.wikia.com/wiki/Mapping_fast_keycodes_in_terminal_Vim上的说明,以使带有修饰符的功能键起作用。


该链接非常有帮助,我什至没有想到这样的问题。虽然这不是我希望阅读的答案,但我认为这是正确的答案。并按照提示提供快速键代码,我可以根据需要映射键组合。
Trendfischer 2012年

7

它应该<S-F3>不是<SHIFT-F3>,请参见:help key-notationVim。


是的,这是我想要的答案,但这种方式行不通。您需要:set使它在终端上工作。
Trendfischer 2012年

0

如今,无需为功能键设置额外的键码,您所需要做的就是:

nnoremap <s-f3> :lprevious<cr>

在NeoVim上测试。

有人请在干净的VIM上尝试一下,以便我更新此答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.