创建VIM Keybinding执行两个命令和范围(count)

时间:2015-03-31 06:59:32

标签: vim key-bindings

我正在使用Slimux并经常使用范围修饰符将代码发送到REPL。键盘快捷键",s"向REPL发送一个新行,执行命令()并前进一行(j),

map <Leader>s :SlimuxREPLSendLine<CR>j

如果我使用范围,例如&#34; 5,s&#34;,这将向REPL发送5行代码,但只前进一行(j)而不是5j。我尝试使用:exe和v.count1来实现这一点,但不是很成功。

任何人都可以提供代码示例(并说明其工作原理)吗?

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

noremap <Leader>s :SlimuxREPLSendLine<Bar>execute 'normal!' v:count1 . 'j'<CR>

这取决于已使用:SlimuxREPLSendLine定义的-bar命令,以便能够向其附加另一个命令。

PS:You should use :noremap;它使映射不受重映射和递归的影响。