Vim,如何在一个快捷键下映射两个任务?

Vim,如何在一个快捷键下映射两个任务?,vim,map,keyboard-shortcuts,line,line-numbers,Vim,Map,Keyboard Shortcuts,Line,Line Numbers,我喜欢在Vim中显示行号,但有时行号很烦人。我在.vimrc中设置了快捷方式: map <c-F12> :set nonumber<ENTER> map <c-F11> :set number<ENTER> map:设置非数字 地图:设定编号 用于关闭/打开它们 是否可以在一个键下连接两个任务(关闭/打开)?我的意思是,当行号打开时,快捷方式应该关闭它们,当行号关闭时打开它们。从Vim帮助中,您可以使用以下语法: :se[t]{option}

我喜欢在Vim中显示行号,但有时行号很烦人。我在.vimrc中设置了快捷方式:

map <c-F12> :set nonumber<ENTER>
map <c-F11> :set number<ENTER>
map:设置非数字
地图:设定编号
用于关闭/打开它们


是否可以在一个键下连接两个任务(关闭/打开)?我的意思是,当行号打开时,快捷方式应该关闭它们,当行号关闭时打开它们。

从Vim帮助中,您可以使用以下语法:


:se[t]{option}!或
:se[t]inv{option}切换选项:反转值。{不在Vi}

请参阅
:帮助设置选项

在您的情况下,您可以使用:
map:设置编号

如果您还想在相对行号、行号和no number之间进行更改,您可以使用以下内容:

let g:relativenumber = 0
function! ToogleRelativeNumber()
  if g:relativenumber == 0
    let g:relativenumber = 1
    set norelativenumber
    set number
  elseif g:relativenumber == 1
    let g:relativenumber = 2
    set nonumber
    set relativenumber
  else
    let g:relativenumber = 0
    set nonumber
    set norelativenumber
  endif
endfunction

map <c-f11> :call ToogleRelativeNumber()<cr>
设g:relativeEnumber=0
功能!ToogleRelativeEnumber()
如果g:relativeEnumber==0
设g:relativeEnumber=1
设置非相关编号
设定数
elseif g:relativeEnumber==1
设g:relativeEnumber=2
不显示行号
集合相对枚举器
其他的
设g:relativeEnumber=0
不显示行号
设置非相关编号
恩迪夫
端功能
映射:调用ToogleRelativeEnumber()

嘿,它能用,谢谢!我把它改成了:nmap:set number!很好,当我切换{option}时,您知道如何显示一些消息,以便知道该选项是打开还是关闭
nmap:exec&nu==&rnu?“se nu!”:“se rnu!”
更新:
'number'
'relativeEnumber'
在Vim 7.3.1115中已更改。您可以在找到更新的答案。