比如,像下面这样在 vimrc 里面写了一个函数,并把它 map 到某个按键上
function Test()
echo "Text"
endfunction
map <leader>j :call Test()<CR>
然后,当我在 visual 模式下使用 <leader>j 去调用这个函数的时候,vim 总是会自动给这个函数加上一个作用范围 '<,'>
最终,实际被执行的是这个:
'<,'>call Test()
于是这个函数就被执行了多次了,实际上我只需要执行一次这个函数,有什么好办法可以只执行一次(或避免被加上 '<,'>)吗?
最近编辑记录 Mr.I (2018-05-30 18:19:08)
离线
:help function-range
离线
:help function-range
从help里面找到答案了,原来还有这样的特殊参数,写上 range 之后函数前面的作用范围就变成可以在函数内访问的参数了。好独特的处理方式。
function Test() range
....
endfunction
离线
人生中的第一个 vim 插件,在依云大大的帮助下完成了
虽然只是个玩具,不过迈出第一步好有成就感
最近编辑记录 Mr.I (2019-11-19 18:55:03)
离线