设置vim折行显示的方法,很多人都知道
set wrap
折行set nowrap
不折行
但是如果仅仅是折行,不改变j
、k
键的移动方式,则会显得很奇怪。因为直接使用j
、k
移动,移动的单位是文件中的行而不是折行后视觉显示的行。为此我们需要使用gj
、gk
在折行后的移动。
为了方便,我们可以自定义函数和命令,方便折行后自动映射j
、k
到gj
、gk
,取消折行后为了规避影响其他脚本,取消映射。在.vimrc
中写入下列配置,可以在执行WrapToggle命令后切换折行模式。
command WrapToggle call WrapToggle()
func WrapToggle()
if !exists('g:is_wrapped')
let g:is_wrapped=0
endif
if g:is_wrapped==0
nmap j gj
nmap k gk
set wrap
let g:is_wrapped=1
else
"使用unmap系列命令,后面不要有空格
nunmap j
nunmap k
set nowrap
let g:is_wrapped=0
endif
endfunc
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。