11

我正在尝试配置 Vim,使其始终自动包装在 x 列,例如在我提供的屏幕截图的其他编辑器中 -

4

3 回答 3

12

使用:set wrap:set textwidth=N。要获得永久效果,请将环绕设置添加到vim启动文件中.vimrc

set wrap
set textwidth=X

要将包装应用到现有文件,请移至文件的开头(您可以使用它gg来执行此操作)。然后键入gqG以将重新格式化应用于整个文件。

设置边距也可能有用:

set wrapmargin=0
于 2013-06-18T09:03:19.587 回答
6

如果您想要硬换行,即通过插入换行符来真正重新格式化文本,那么'textwidth'设置(如嫌疑人的回答中所述)是关键。您需要重新格式化现有文本,例如通过gq命令。

对于软换行,即编辑器窗口中的长行似乎被打断,:set wrap将始终填满整个可用窗口空间;你不能限制它减少。要么调整 Vim 窗口的大小,要么在右侧添加一个填充缓冲区来限制当前窗口的可用空间。对于后者,我的LimitWindowSize 插件可能会有所帮助。

于 2013-06-18T09:14:57.927 回答
2

从第二张截图来看,你似乎想要软包装。这个答案提出了一种实现软包装效果的方法。

与我提到的解决方案相比,我正在概括解决方案,但基本上

  1. 用于:set nuw查看行号占用了多少列,我们称之为nuw.
  2. 然后使用:set columns=xwhere x= (你想要的列数 + nuw)。

请注意,columns调整窗口大小后,它会自动重置为窗口宽度,因此此手动设置不会持久。

于 2013-06-18T10:24:01.507 回答