在vim中自动换行而不插入换行符

ant*_*ter 2 vim

如何设置vim来包装文本而不插入换行符?

基本上:

  • 我希望有一个最大宽度,比如80行
  • 当我输入一个段落时,如果一个单词通过80行标记,它应该包裹整个单词(不分割单词)
  • 如果我键入多行,它应该仍然是包装
  • 如果我保存文件,除非在编辑模式下键入时明确按Enter键,否则我不会看到任何换行符

我可以通过以下方式获得一些此行为:

:set textwidth=80
:set wrap
Run Code Online (Sandbox Code Playgroud)

除此之外将插入换行符,我希望它插入换行符.我已经尝试了这个,但它不起作用.

Acr*_*yce 10

如果您在插入模式下键入目标,则会在窗口边缘自动软包装文本(仅在视觉上):

set number # (optional - will help to visually verify that it's working)
set textwidth=0
set wrapmargin=0
set wrap
set linebreak # (optional - breaks by word rather than character)
Run Code Online (Sandbox Code Playgroud)

如果您在输入插入模式时的目标是在80列自动硬文本处理(通过在实际文本文件中插入新行):

set number # (optional - will help to visually verify that it's working)
set textwidth=80
set wrapmargin=0
set formatoptions+=t
set linebreak # (optional - breaks by word rather than character)
Run Code Online (Sandbox Code Playgroud)

如果您在插入模式下键入目标时,目标是在80列自动软包装文本(仅在视觉上):

set number # (optional - will help to visually verify that it's working)
set textwidth=0
set wrapmargin=0
set wrap
set linebreak # (optional - breaks by word rather than character)
set columns=80 # <<< THIS IS THE IMPORTANT PART
Run Code Online (Sandbox Code Playgroud)

后者带我进行了2-3次重要的互联网搜索会议,从这里找到(给他们一个阅读 - 它的写得非常好):https://agilesysadmin.net/how-to-manage-long-lines-in- VIM /


rom*_*inl 5

将窗口的宽度减少到大约 80 个字符,set wrapset linebreak应该可以满足您的所有要求。

参见:help 'wrap':help 'linebreak'