vim 根据 var 先前的值进行切换

vim 根据 var 先前的值进行切换

如何将值mouse从空切换为a,反之亦然?

我发现自己经常在那两种模式之间切换。a当我在巨大的源文件中花费很长时间并且必须使用滚轮进行导航等时,这非常好。

但哑鼠标模式非常适合从任何地方复制/粘贴到任何地方。

我的 .vimrc 中目前有:

nmap <F11> :se mouse=<CR>
nmap <F12> :se mouse=a<CR>

但是如果能再次释放 F11(我没有 F 键了)并让 F12 切换该值就好了...有人有这个方便的秘诀吗?

答案1

@Heptite 是对的,你只是通过切换来治愈症状,但无论如何,你可以这样切换:

:nnoremap <F12> :let &mouse=(empty(&mouse) ? 'a' : '')<CR>
  • 笔记:你应该使用:noremap;它使映射不受重新映射和递归的影响。
  • 注意:对于简单的布尔开/关选项,您可以使用:set inv{optionname}

答案2

你应该看看:

:help 'paste'
:help 'pastetoggle'

(单引号是作为命令的一部分输入的。)

具体来说,这将完成您想要的操作:

:set pastetoggle=<F12>

相关内容