我有一些代码文档,我想很好地格式化:
# book_id - integer
# chapter_id - integer (Optional)
# relative_url - Text: the url of the screencast file on S3, relative to the book's url
# view_count - integer
我安装了 Tabular.vim,它让我走到了这一步:
# book_id - integer
# chapter_id - integer (Optional)
# relative_url - Text: the url of the screencast file on S3, relative to the book's url
# view_count - integer
我想要一些自动化的方式来生成这样的代码。也就是说,包装到 79 个字符,如果从前一条评论继续一行,则缩进。我得到的是这样的:
# book_id - integer
# chapter_id - integer (Optional)
# relative_url - Text: the url of the screencast file on S3, relative to the
# book's url
# view_count - integer
我要找的是这个:
# book_id - integer
# chapter_id - integer (Optional)
# relative_url - Text: the url of the screencast file on S3, relative to the
# book's url
# view_count - integer
是否可以在现有插件或热键序列中执行此操作?我知道
gq
, 这会将文本重新格式化为 vim 中设置的字符宽度,但不会在注释等内容中添加缩进。
最佳答案
您可以使用 formatlistpat
选项(:set fo+=n
需要工作):
1.删除#
:%s/^# //
2.设置
flp
选项:setl flp=^[^-]*-\\s
3.进行格式化
嘎嘎嘎
4. 前置
#
:%s/^/# /
您也可以使用
indentexpr
选项:2a.套装
inde
选项:setl inde=15
2b.插入空行
:g/^/pu_
5.删除空评论
:g/^# $/d
关于Vim:重新格式化和重新缩进注释的自动方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12629551/