Vim:重新映射键以切换行号

Posted

技术标签:

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

我补充说:

set number
nnoremap <F2> :set nonumber!

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

【问题讨论】:

【参考方案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>

【讨论】:

以上是关于Vim:重新映射键以切换行号的主要内容,如果未能解决你的问题,请参考以下文章

vim 永久临时显示行号

为啥在 Vim 中将 Esc 重新映射到 CAPS LOCK 如此复杂?

在 vim 中重新映射修饰符键

在 vim 中重新映射“Y”

Visual Studio 2010:如何重新映射 F2 以重命名文件而不是打开对象浏览器

python - “将重新索引布尔系列键以匹配DataFrame索引。来自ipykernel导入kernelapp作为app“