使用vnoremap映射函数

问题描述 投票:1回答:1

我正在尝试在Neovim中设置一个函数,它可以操作一个可视化的文本块并将其绑定到一个键。我从function-range-example documentation中复制了这个:

function! Cont() range
  execute (a:firstline + 1) . "," . a:lastline . 's/^/\t\\ '
endfunction

vnoremap <silent> S :set opfunc=Cont<CR>

如果我用:'<,'>call Cont()调用函数,一切正常。但是,当我在可视块模式下突出显示一系列文本时,我收到此错误:

E481: No range allowed

我错过了什么?

vim vim-plugin neovim
1个回答
2
投票

你的映射没有多大意义。它设置了从未使用过的操作员功能。

E481被抛出,因为从:setvmap导致:'<,'>set...,但是:set命令没有射程。

请改用:

vnoremap <silent> S :call Cont()<cr>
© www.soinside.com 2019 - 2024. All rights reserved.