让我们谈谈相关措施。我的Vim看起来像:
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
etc
我希望它更小:
aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
etc
我怎样才能得到它?我如何管理设置这样一个块的长度?
答案 0 :(得分:173)
你实际上可以做两件事:
你想要哪一个?
选项1可以通过设置textwidth
来实现(例如:set textwidth=30
(来自Swaarop的答案))。然后,您可以通过突出显示文本(在可视模式下)并键入gq
来重新格式化文本。 (textwidth
可缩写为tw
,因此:set tw=30
。)
可以通过运行:set wrap
/ :set nowrap
来切换选项2。这将包裹对于窗口来说太长的行。
两者都是独立的。
答案 1 :(得分:58)
设置'textwidth'后,您可以选择具有可视模式的文本并按gq以很好地包装它(您也可以在某些旧/旧配置上使用Q)。
一些有用的提示:
gqq (wrap the current line)
gq} (wrap this 'paragraph', i.e. until the next blank line)
:h gq
答案 2 :(得分:21)
使用fold(1)是一种可能性:
:%!fold -w5
结果:
aaaaa
aaaaa
aaa
bbbbb
bbbbb
bbb
ccccc
ccccc
ccc
答案 3 :(得分:14)
:set textwidth=30
答案 4 :(得分:8)
如果您的文字没有空格,您希望以一定的长度打破,则既不需要使用外部fold
也不必编写自己的formatexpr
。
:%s/\(.\{80\}\)/\1\r/g
会在80个字符处打破所有行。
答案 5 :(得分:0)
首先,将 textwidth 设置为 5
:set tw=5
然后,按 gqap
设置段落格式