Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim键绑定到调用函数:control+;c然后是1_Vim_Key Bindings_Vim Plugin - Fatal编程技术网

Vim键绑定到调用函数:control+;c然后是1

Vim键绑定到调用函数:control+;c然后是1,vim,key-bindings,vim-plugin,Vim,Key Bindings,Vim Plugin,我正在寻找一种方法来创建一个vim绑定,在这里我可以输入控件C(同时输入控件和C键),然后再输入另一个选项(类似于yy或dd。例如,设置ctrl+C then 1,这样我定义的一个函数,称为my func,将被这样调用:myfunc(1) 以下是我迄今为止的尝试:map:callmyfunc(1)您可以这样做,只需做一些修改: Ctrl-c用于中断信号;选择一些其他组合键,如c 使用计数比使用参数容易得多;也就是说,使用3\c而不是\c3触发组合键 用户函数的名称必须以大写字母开头 有了这些

我正在寻找一种方法来创建一个vim绑定,在这里我可以输入控件C(同时输入控件和C键),然后再输入另一个选项(类似于
yy
dd
。例如,设置ctrl+C then 1,这样我定义的一个函数,称为my func,将被这样调用:
myfunc(1)


以下是我迄今为止的尝试:
map:callmyfunc(1)

您可以这样做,只需做一些修改:

  • Ctrl-c用于中断信号;选择一些其他组合键,如
    c
  • 使用计数比使用参数容易得多;也就是说,使用3\c而不是\c3触发组合键
  • 用户函数的名称必须以大写字母开头
有了这些注释,您可以这样做:

nnoremap <silent> <Leader>c :<C-u>call MyFunc(v:count)<CR>
nnoremap c:callmyfunc(v:count)

v:count
是一个预定义变量,它接受您传递给上一个正常模式命令的计数器的值,如果没有计数器,则接受0。还有
v:count1
也做同样的事情,只是如果没有计数器,则默认为1。

这有什么意义?我很难做到这一点你认为noremap:call Myfunc(v:count)有什么问题吗?我已将其设置为这种方式,但无法使用ctrl+a访问该功能……是的,您的映射错误。
是必需的,它会在
之后删除计数:
是停止信号的键,您将无法映射它。
将计数添加到光标下的字符。如果您需要,您可能可以映射它我很确定,但你不应该。很少有
Ctrl
键没有做重要的事情。耸耸肩