在Vim中修复了太长的注释行

时间:2012-09-01 21:37:08

标签: vim

我正在寻找一种方便的方法来修复Vim中行长度超过一定数量字符的注释。我很好地使用代码手动执行此操作,特别是因为它并不常见,加上重构长行通常是语言,甚至是代码风格依赖,但是评论这是纯粹的苦差事。

发生的事情是我经常在评论中发现一些问题,调整一两个单词,并且该行溢出,比方说,80个字符的限制。我将最后一个单词移到下一行,然后下一行溢出,依此类推。有没有人知道在Vim中自动执行此操作的方法?

1 个答案:

答案 0 :(得分:3)

如果这是常规问题,我建议将以下内容放入vimrc:

nnoremap <leader>f gqip

这将映射领导者f快捷方式(f代表“格式”)以格式化评论(在设置一些formatoption标志后考虑一个段落)与gq格式化,将评论格式化为当前设置的textwidth的宽度或tw选项。您应该使用textwidth=80在.vimrc中设置textwidth。

Formatoptions是你应该摆弄的另一件事,特别是在你的情况下,通过acq添加formatoptions+=acq标志。请小心删除t formatoptions-=t标记,因为这会自动包装所有代码,而不仅仅是已识别的注释。完成所有这些操作之后,你应该只能在注释中点击f并格式化,而不管是否被空行包围。

以下是有关格式选项的相关信息,您可以自行选择。

t       Auto-wrap text using textwidth

c       Auto-wrap comments using textwidth, inserting the current comment
    leader automatically.

r       Automatically insert the current comment leader after hitting
    <Enter> in Insert mode.

o       Automatically insert the current comment leader after hitting 'o' or
    'O' in Normal mode.

q       Allow formatting of comments with "gq".
    Note that formatting will not change blank lines or lines containing
    only the comment leader.  A new paragraph starts after such a line,
    or when the comment leader changes.

w       Trailing white space indicates a paragraph continues in the next line.
    A line that ends in a non-white character ends a paragraph.

a       Automatic formatting of paragraphs.  Every time text is inserted or
    deleted the paragraph will be reformatted.  See |auto-format|.
    When the 'c' flag is present this only happens for recognized
    comments.