同时启用以下两个选项非常令人头疼:
" Line numbering.
set number
set relativenumber
" The master setting (with wrapping)
set wrap
set linebreak
set nolist " list disables linebreak
set textwidth=0
set wrapmargin=0
set formatoptions+=l "No reformatting while typing on the exciting line.
相对行号非常简洁有用,但是,当我的文本包含已经包裹的长行时,"向下跳5行"并且"在长长的包裹线内移动"成为一组矛盾的任务。
为了在长包裹线上移动,我需要使用以下映射。
nnoremap j gj
nnoremap k gk
vnoremap j gj
vnoremap k gk
然而,5j
无法再触发向下跳5行。我应该输入#j
,其中#
="视觉"在当前行和第5行之间包裹线条。
键映射中存在这种矛盾的解决方案吗?是否有一个插件可以为柔和的线条编号?这是我能想到的唯一解决方案.t
提前谢谢。
答案 0 :(得分:0)
没有选项可以启用“轻柔包装的相对数字”,并且它不会非常有用,因为偏移不仅用于j
/ k
导航,还用于各种类型的其他命令,以及:[range]
,这些将继续通过物理,强硬的方式解决。
在引入'relativenumber'
之前,有RltvNmbr.vim plugin,它使用标志列模拟该选项。您可以尝试修改它以适应您的想法。考虑到上述限制并且插件使用了凌乱的解决方法,我宁愿建议您定义相反的映射:
nnoremap gj j
nnoremap gk k
vnoremap gj j
vnoremap gk k
通过这种方式,您可以使用快速j
等命令轻松导航包裹的线条,对于需要相对跳跃的(较少)场合,请使用[N]gj
。