我经常在 Vim 中用这样的格式写文本——
- talking point 1
- talking point 2 ....
continue on point 2
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望 Vim 可以为我自动对齐它,例如:
- talking point 1
- talking point 2
continue on point 2
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我的 .vimrc 中有这个:
set comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,fb:[+],fb:[x],fb:[-]Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,在你的 .vimrc 中添加这一行,工作就会完成:
set comments +=fb:-Run Code Online (Sandbox Code Playgroud)
有关详细说明,请尝试:
:help commentsRun Code Online (Sandbox Code Playgroud)
如果您在中n设置了标志formatoptions(例如使用set fo+=n),Vim 已经知道如何使用数字项目符号来格式化列表。formatlistpat(short name flp) 是 Vim 用来匹配它的正则表达式,所以您需要的是增强该正则表达式。这应该对你有用(但只增加了对-子弹的支持):
set formatlistpat=^\\s*\\(\\d\\+[\\]:.)}\\t\ ]\\|-\\)\\s*
Run Code Online (Sandbox Code Playgroud)
很抱歉那里的反斜杠头疼。做set flp?更清楚地显示正则表达式的样子:
formatlistpat=^\s*\(\d\+[\]:.)}\t ]-\)\s*
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此帖子。