我想在我的.gvimrc中定义一个映射,以便如果按下最后一个键,则重复触发的操作。具体来说,我想做一些像
这样的事情map <SPACE>t :set transparency-=1
map <SPACE>T :set transparency+=1
对于MacVim,但我希望在保持t / T时继续降低/增加透明度(不想继续按空格键)。
如果你有一个更好的方法来调整透明度的建议,我也会很感激。
另外,能够输入 20 SPACE t 并且透明度降低20倍会很高兴;但是,当我尝试时,我得到了一个
E481: No range allowed.
如何启用范围指定?
非常感谢。
答案 0 :(得分:6)
我不确定你问题的第一部分,但要获得 20 <Space>
t 才能够做好自己的工作:
:map <space>t :<C-U>exe "set transparency-=".v:count1<CR>
<C-U>
删除在正常模式下键入 20 时添加到ex命令的行范围。 exe
执行'dynamic'vimscript。v:count1
是最后一次正常模式命令的计数(本例中为20)。如果没有计数,则默认为1。有关其他信息,请参阅
:h v:count
:h v:count1
<强>更新强>
您可以使用exe
表单而不是let
表单忽略set
:
:map <space>t :<C-U>let &transparency-=v:count1<CR>
请参阅:h :let-&
。