繁体   English   中英

Vim和键映射

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM