【问题标题】:Align End Of Line Comments in Vim?在 Vim 中对齐行尾注释?
【发布时间】:2011-11-07 02:19:35
【问题描述】:

在 Vim 内部,是否有一个格式化命令可以对齐行尾 cmets 块?

例如在 C++ 中,它会变成这样:

m_varName1;   // Comment 1
m_varName1AndABit;       // Command 1 and a bit
m_varName2;     // Comment 2
m_varName3ButReally2AndABit;   // Comment 3 (but really 2 and a bit)

进入这个:

m_varName1;                   // Comment 1
m_varName1AndABit;            // Command 1 and a bit
m_varName2;                   // Comment 2
m_varName3ButReally2AndABit;  // Comment 3 (but really 2 and a bit)

【问题讨论】:

    标签: vim formatting comments


    【解决方案1】:

    使用 Vim 的 Align 插件根据您选择的任何分隔符进行对齐。

    【讨论】:

    • 起初我完全赞成,但 Align 有一些副作用 - 其中一个与我现有的键映射冲突。
    • 您可以重新映射键映射。我根本不使用它们。我只是使用:Align <separator>
    • 是的,但我没有使用 Tabularize '开箱即用'的问题,所以它赢了。但这涉及到关于如何设计 vim 插件的问题之外的更大讨论。
    【解决方案2】:

    tabular.vim 插件应该可以做到这一点。直观地选择它们,并将它们与

    对齐
    :Tabularize /\/\/
    

    【讨论】:

    • 其实你不需要视觉选择,除非你想要更精确。 Tabularize 足够聪明,可以检测到一个块。此外,您可能会发现:Tab 更易于使用。
    • 在尝试了 Align 之后,我根据个人喜好选择了 Tabularize。两者都解决了这个问题,但 Tabularize 对我来说似乎是一个更清洁的解决方案。
    • 你如何解释“/\/\/”?
    • @JihoNoh /\/\/ 是评论字符// 的搜索/匹配表达式。 Tabularize 接受 vim 搜索,例如您可以使用 / 命令搜索它并将两个 // 转义为 \/
    【解决方案3】:

    我今天遇到了类似的问题,我想在某个位置的空白处对齐。刚刚写了一封blog post,讲述了我是如何使用Align 插件做到的。

    【讨论】:

      猜你喜欢
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2011-09-04
      相关资源
      最近更新 更多