dal*_*onb 1 mapping vim map macvim
我想在我的.gvimrc中定义一个映射,这样如果按下最后一个键,则重复触发的操作.具体来说,我想做点什么
map <SPACE>t :set transparency-=1
map <SPACE>T :set transparency+=1
Run Code Online (Sandbox Code Playgroud)
对于MacVim,但是我希望在保持t/T时继续降低/增加透明度(不想继续按空格键).
如果你有一个更好的方法来调整透明度的建议,我也会很感激.
另外,如果能够打字20 SPACE t并且透明度降低20 ,那将是很好的; 然而,当我尝试我得到一个
E481: No range allowed.
Run Code Online (Sandbox Code Playgroud)
如何启用范围指定?
非常感谢.
我不确定你问题的第一部分,但是为了20 <Space>
t能够完成它的工作:
:map <space>t :<C-U>exe "set transparency-=".v:count1<CR>
Run Code Online (Sandbox Code Playgroud)
<C-U>
您删除,当你键入添加到您的Ex命令行的范围20在正常模式下.exe
你执行'动态'vimscript.v:count1
是最后一次正常模式命令的计数(本例中为20).如果没有计数,则默认为1.有关其他信息,请参阅
:h v:count
:h v:count1
Run Code Online (Sandbox Code Playgroud)
更新:
您可以省略exe
使用let
表单而不是set
一个:
:map <space>t :<C-U>let &transparency-=v:count1<CR>
Run Code Online (Sandbox Code Playgroud)
见:h :let-&
.