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 <silent> <F11> :exec &nu==&rnu? "se nu!" : "se rnu!"<CR>
【参考方案5】:
我用它在相对编号(当前绝对行号)和无行号之间切换
nnoremap <silent> <leader>l :set relativenumber! <bar> set nu!<CR>
【讨论】:
以上是关于Vim:重新映射键以切换行号的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 Vim 中将 Esc 重新映射到 CAPS LOCK 如此复杂?
Visual Studio 2010:如何重新映射 F2 以重命名文件而不是打开对象浏览器
python - “将重新索引布尔系列键以匹配DataFrame索引。来自ipykernel导入kernelapp作为app“