【问题标题】:Vim: remap key to toggle line numberingVim:重新映射键以切换行号
【发布时间】:2010-10-20 05:40:34
【问题描述】:

我补充说:

set number
nnoremap <F2> :set nonumber!

到我的 vimrc 文件。基本上它应该做的是让我按 F2 来切换行号,但它不起作用。我做错了什么?

【问题讨论】:

    标签: vim key-bindings remap


    【解决方案1】:

    在您的.vimrc 中,添加以下内容:

    set number
    nnoremap <F2> :set nonumber!<CR>
    

    然后按 F2 将切换行号。

    【讨论】:

    • 这对我来说非常有效,但只是好奇nonumber! 将如何实现切换功能?
    • 使用最新的vim,如果同时使用数字和相对数字,请添加:set nonumber! norelativenumber!
    【解决方案2】:

    这是我使用的(使用不同的键绑定):

    nmap <f2> :set number! number?<cr>
    

    “数字!”切换设置和“数字?”报告状态。

    【讨论】:

      【解决方案3】:

      这是一种方法:

      map <silent> <F2> :if &number <Bar>
          \set nonumber <Bar>
              \else <Bar>
          \set number <Bar>
              \endif<cr>
      

      (这个很好,因为我通常把 foldcolumn 也放在那里)

      这是另一个:

      map <silent> <F2> :set invnumber<cr>
      

      (直接法)

      【讨论】:

      • 我刚刚使用了您与我们分享的第二种方法。这是我更喜欢的,谢谢:)
      • 第二种方法比这里(到目前为止)任何其他方法都更正确和容易。它应该是一个单独的并接受答案。
      【解决方案4】:
      nmap <silent> <F11> :exec &nu==&rnu? "se nu!" : "se rnu!"<CR>
      

      在新的 vim 中,您可以同时设置相对数字和数字,这样:

      set nu rnu
      

      【讨论】:

      • 谢谢,非常适合任何类型的切换,而不仅仅是数字切换。
      • 新的一种方式nmap &lt;silent&gt; &lt;F11&gt; :exec &amp;nu==&amp;rnu? "se nu!" : "se rnu!"&lt;CR&gt;
      【解决方案5】:

      我用它在相对编号(当前绝对行号)和无行号之间切换

      nnoremap <silent> <leader>l :set relativenumber! <bar> set nu!<CR>
      

      【讨论】:

        猜你喜欢
        • 2011-06-09
        • 1970-01-01
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 2012-07-11
        • 1970-01-01
        相关资源
        最近更新 更多