星期一, 七月 26, 2010

VIM学习笔记 折行(Wrap)

折行显示

在默认情况下,Vim会自动折行––将超出屏幕范围的文本打断并显示在下一行。我们也可以通过以下命令,取消自动折行––超出屏幕范围的文本将不会被显示,你需要向句末移动光标,以使屏幕水平滚动,查看一行的完整内容。

:set nowrap

默认设置set sidescroll=0之下,当光标到达屏幕边缘时,将自动扩展显示1/2屏幕的文本。

sidescroll-off

通过使用set sidescroll=1设置,可以实现更加平滑的逐个字符扩展显示。

sidescroll-on

可以使用以下命令,恢复Vim的自动折行:

:set wrap

折行形式

我们可以告诉Vim在合适的地方折行:

:set linebreak

所谓合适的地方,是由breakat选项中的字符来确定的。在默认的情况下,这些字符是“^I!@*-+_;:,./?”。如果我们不希望在下划线处打断句子,只要用下面的命令将“_”从这个列表移除就可以了:

:set breakat-=_

如果一行被打断,Vim可能不会在句子连接处显示任何内容。我们可以通过设置showbreak选项,来显示所希望的指示信息:

:set showbreak=->

我们可以使用以下命令,取消自定义折行:

:set nolinebreak

在折行内移动

如果设置了wrap选项,那么很长的行将被折回并连续显示在屏幕上。但使用j命令,将移动屏幕上显示为多行的一行;而如果希望在折行内向下移动,则需要使用gjg<Down>命令。同理,gkg<Up>命令,用于向上移动。

j-gj

vimrc配置文件中,定义以下键盘映射,可以使jk命令自动判断是在折行内或是在折行间进行移动:

noremap j (v:count == 0 ? 'gj' : 'j')
noremap k (v:count == 0 ? 'gk' : 'k')

命令小结
:set wrap启用自动折行
:set nowrap取消自动折行
:set linebreak自定义折行

Ver: 1.1<上一篇 | 目录 下一篇>

没有评论:

发表评论