创建 VIM 键绑定执行两个命令和范围(计数)
Create VIM Keybinding executing two commands and ranges (count)
我正在使用 Slimux 并且经常使用范围修饰符将代码发送到 REPL。键盘快捷键“,s”向 REPL 发送一个新行,执行命令 () 并前进一行 (j),
map <Leader>s :SlimuxREPLSendLine<CR>j
如果我使用范围,例如“5,s”,这向 REPL 发送了 5 行代码,但只前进了一行 (j) 而不是 5j。我尝试使用 :exe 和 v.count1 来实现这一点,但不是很成功。
任何人都可以提供代码示例(并解释其工作原理)吗?
这应该可以解决问题:
noremap <Leader>s :SlimuxREPLSendLine<Bar>execute 'normal!' v:count1 . 'j'<CR>
这取决于用 -bar
定义的 :SlimuxREPLSendLine
命令才能向其附加另一个命令。
PS: You should use :noremap
;它使映射不受重新映射和递归的影响。
我正在使用 Slimux 并且经常使用范围修饰符将代码发送到 REPL。键盘快捷键“,s”向 REPL 发送一个新行,执行命令 () 并前进一行 (j),
map <Leader>s :SlimuxREPLSendLine<CR>j
如果我使用范围,例如“5,s”,这向 REPL 发送了 5 行代码,但只前进了一行 (j) 而不是 5j。我尝试使用 :exe 和 v.count1 来实现这一点,但不是很成功。
任何人都可以提供代码示例(并解释其工作原理)吗?
这应该可以解决问题:
noremap <Leader>s :SlimuxREPLSendLine<Bar>execute 'normal!' v:count1 . 'j'<CR>
这取决于用 -bar
定义的 :SlimuxREPLSendLine
命令才能向其附加另一个命令。
PS: You should use :noremap
;它使映射不受重新映射和递归的影响。