我想在vim中启用或禁用只有一个键的鼠标支持(在我的情况下是 F7 )。它应该在命令模式插入模式下工作。我在.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运行良好,鼠标支持不行。为什么?
答案 0 :(得分:1)
游标示例中的!
修饰符就是它的工作原理。这告诉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>