[英]Vim and key mapping
我想仅用一个键(在我的情况下为F7 )启用或禁用vim中的鼠标支持。 它应该在命令模式插入模式下工作。 我的.virmrc中有这个:
set mouse=
nnoremap <F7> :set mouse=a <CR>
inoremap <F7> <C-o> :set mouse=a <CR>
但这不起作用。 我也想在两种模式下打开和关闭cursorline
。 为此,我在我的.vimrc中有这个
set nocursorline
nnoremap <F2> :set cursorline!<CR>
inoremap <F2> <C-o>:set cursorline!<CR>
Cursorline效果很好,鼠标支持则不行。 为什么?
!
您的游标示例中的修饰符就是为什么它起作用。 这告诉Vim切换或反转当前值。 它仅适用于布尔(true / false)设置。
来自:help :set
:
:se[t] {option}!
要么
:se[t] inv{option}
切换选项:取反。 {Vi无此功能}
如果是mouse
,您将需要一些更智能的东西。
function ToggleMouse()
if &mouse == 'a'
set mouse=
echo 'Mouse mode OFF'
else
set mouse=a
echo 'Mouse mode ON'
endif
endfunction
nnoremap <F7> :call ToggleMouse()<CR>
inoremap <F7> <C-o>:call ToggleMouse()<CR>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.