【问题标题】:Vim Tabular: how to ignore long commentsVim Tabular:如何忽略长注释
【发布时间】:2015-02-19 15:57:05
【问题描述】:

我在 Vim 中使用 Tabular 将 Python 中数据文件上的定义与一些长 cmets 对齐:

# A long comment here with many words
param_1 = 42
parameter_2 = 0.25

# Another long comment
para_3 = 'abc'
parameter_number_4 = some_var

如果我在选择中使用Tabularize /=,也会处理 cmets,因为有些很长,所以我得到:

# A long comment here with many words
param_1                               = 42
parameter_2                           = 0.25

# Another long comment
para_3                                = 'abc'
parameter_number_4                    = some_var

这不是我想要的。有没有办法在选择中忽略以“#”开头的行?从而获得这样的东西:

# A long comment here with many words
param_1            = 42
parameter_2        = 0.25

# Another long comment
para_3             = 'abc'
parameter_number_4 = some_var

【问题讨论】:

  • 在没有指定范围的情况下运行:Tabularize/= 将对齐当前行并仅匹配附近的行。您将看不到您描述的行为。

标签: python vim tabular


【解决方案1】:

我建议您使用global 命令而不是视觉选择来告诉表格化要对齐的内容。在你的情况下,像这样:

:%g/^\s*[^#]/Tabularize /=

这会找到文件中不是注释的每一行,并在其上运行Tabularize /=。如果要针对更具体的行,可以将% 替换为cmdline-range。您也可以直接传递 cmdline-range 来进行表格化,如下所示:

:2,3Tabularize /=

相关帮助主题:

:help cmdline-ranges
:help :g

【讨论】:

  • 我想要的似乎不可能。您告诉的方式单独对齐每个“块”。但对我来说,这已经足够了。
猜你喜欢
  • 2016-05-22
  • 2021-05-11
  • 2011-11-13
  • 2012-07-16
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多