我一直在使用vim一段时间,但仍然不熟悉脚本语言。
我想实现这个小小部件,只在我最需要的时候调用relativenumber
,这就是当我执行“动作” - “数字” - “对象”操作时。
例如,当我想在文本中删除4行时,按 d 4 d 。只有当我知道我要删除的4行时才很方便。有时,当数字变大并且:set nu
没有真正提供太多帮助时,很难保持计数。
所以我想用它做的是:当我按下 d “动作”时,调用:set relativenumber
。然后我继续按 4 ,只有当我通过按下组合中的最后一个键传递“对象”时,无论是 d 还是 w 或 l 或其他什么,它会调用:set norelativenumber
,转回常规行号。
如何在.vimrc
中实现该功能?或者是否已经有一个我没有找到的插件?
答案 0 :(得分:0)
不是那么容易,因为您将要更改vims默认映射并且必须处理递归。 以下列出了您需要考虑的事项:
count
这是一个起点,即切换功能:
function! ToggleRN()
if &rnu==1
set nornu
elseif &rnu==0
set rnu
endif
endfunction
注意:&
可以使用Vim的内部设置,如变量。由于relativenumber
是一个布尔变量,因此它是1或0。
此后的一切都开始变得复杂。祝你好运!
但是一直使用set relativenumber
有什么问题?