我只是看这篇文章描述了如何在vim中包装整个单词.接受的解决方案是:
:set formatoptions=l
:set lbr
Run Code Online (Sandbox Code Playgroud)
采用此文本(标签显示为\ 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 |
| |
|---------------------------------------|
Run Code Online (Sandbox Code Playgroud)
这样就完成了这样的行为(标签显示为\ t):
*Inside of window *Outside of window
|---------------------------------------|
|\t\tthis is a like of text that will |
|wrap here |
|\t\tcan you see the wrap |
| |
|---------------------------------------|
Run Code Online (Sandbox Code Playgroud)
但是我想重新定义这个功能.我希望被包裹的行在它前面有相同数量的标签,上面的行加一.即:
*Inside of window *Outside of window
|---------------------------------------|
|\t\tthis is a like of text that …Run Code Online (Sandbox Code Playgroud) 有没有人知道如何让vim包装长行文本,使得包装文本的位置基于当前行的缩进?我不想重新格式化我的代码,只是为了让它显示得很漂亮.
例如,如果我将设置设置为以下行:
print 'ProcessorError(%r, %r, %r)' % (self.file, self.index, self.message)
Run Code Online (Sandbox Code Playgroud)
包装为:时显示:
print 'ProcessorError(%r, %r, %r)' % (self.file, self.index,
self.message)
Run Code Online (Sandbox Code Playgroud)
那么如果我写一个像这样的代码块:
def __repr__(self):
return 'ProcessorError(%r, %r, %r)' % (self.file, self.index, self.message)
Run Code Online (Sandbox Code Playgroud)
它包装成这样的东西:
def __repr__(self):
return 'ProcessorError(%r, %r, %r)' % (self.file, self.index,
self.message)
Run Code Online (Sandbox Code Playgroud)
我希望它显示为:
def __repr__(self):
return 'ProcessorError(%r, %r, %r)' % (self.file, self.index,
self.message)
Run Code Online (Sandbox Code Playgroud)
编辑:在阅读了Don Werve的回复之后,似乎我确实在寻找breakindent选项,但该选项仍在"等待更新补丁"列表中(参见Vim TODO).所以我想知道的是让vim使用的最简单方法是什么breakindent?(我不在乎我必须使用什么版本的vim.)