首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Vim中的换行(保留缩排)

Vim中的换行(保留缩排)
EN

Stack Overflow用户
提问于 2010-05-13 23:45:41
回答 4查看 12K关注 0票数 93

我只是在看this post,它描述了如何在vim中包装整个单词。公认的解决方案是这样的:

:set formatoptions=l
:set lbr

它接受此文本(选项卡显示为\t):

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\t\tthis is a like of text that will wr|ap here                            
|\t\tcan you see the wrap               |
|                                       |
|---------------------------------------|

这将实现如下行为(选项卡显示为\t):

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\t\tthis is a like of text that will   |
|wrap here                              |
|\t\tcan you see the wrap               |
|                                       |
|---------------------------------------|

然而,我想重新定义这个函数。我希望折行的前面有相同数量的标签,上面的行有加一。即:

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\t\tthis is a like of text that will   |
|\t\t\twrap here                        |
|\t\tcan you see the wrap               |
|                                       |
|---------------------------------------|

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-20 15:38:25

breakindent patch有你要找的东西。我使用这个线程中的指令成功地应用了它:

Patch Vim with the breakindent patch on OS X with Homebrew

具体地说,是echristopherson的Homebrew公式。

我知道这个帖子很老了,但它在谷歌上很受欢迎,当我试图找到解决方案时,我遇到过它很多次。

编辑:此补丁现在包含在vim中,作为补丁7.4.338。请参阅:https://retracile.net/blog/2014/07/18/18.00

在Yosemite (Mac OS X)上,我使用了snowbound的命令和hombrew:

brew install macvim --with-features=huge --override-system-vim --HEAD 
票数 18
EN

Stack Overflow用户

发布于 2014-10-27 05:26:40

当最初提出问题时,这不起作用,但从2014年6月25日起,这将起作用。(假设您将vim更新为比该日期更新的版本)

添加到您的.vimrc:

" Indents word-wrapped lines as much as the 'parent' line
set breakindent
" Ensures word-wrap does not split words
set formatoptions=l
set lbr

就是这样!

--

有些人(包括我自己)在多台计算机上共享一个.vimrc。在这种情况下,重要的是让这一行保持健壮(以避免恼人的错误消息)。这个更好一点:

if has("patch-7.4.354")
    " Indents word-wrapped lines as much as the 'parent' line
    set breakindent
    " Ensures word-wrap does not split words
    set formatoptions=l
    set lbr
endif

这样,如果您使用的是较早版本的vim,则不会收到错误消息。

票数 31
EN

Stack Overflow用户

发布于 2010-05-14 07:40:05

您将得到的最好结果是showbreak选项,它将在每个换行的前面放置一个固定的字符串(我使用set showbreak=...)。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2828174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档