在vim中支持特定类型的注释

在vim中支持特定类型的注释,vim,Vim,在ruby编程中,我们在将要计算的多行字符串中有特殊类型的注释。它们看起来像这样: 这个字符串将一行一行地分为两部分:左侧是带插值的字符串,右侧是代码示例。手动键入此注释是一项艰巨的工作。它需要许多手动缩进 vim中是否有一些插件或工具可以帮助编写这类注释?首先,了解vim中的这些功能可以让类似这样的东西更容易使用: 视觉块模式 );可以将光标移动到没有任何文本的位置。这就是所谓的“虚拟空间”。《用户指南》(在某些方面与您的情况类似): 以下是两种方法: 假设垂直拆分始终位于固定列中

在ruby编程中,我们在将要计算的多行字符串中有特殊类型的注释。它们看起来像这样:

这个字符串将一行一行地分为两部分:左侧是带插值的字符串,右侧是代码示例。手动键入此注释是一项艰巨的工作。它需要许多手动缩进


vim中是否有一些插件或工具可以帮助编写这类注释?

首先,了解vim中的这些功能可以让类似这样的东西更容易使用:

  • 视觉块模式

  • );可以将光标移动到没有任何文本的位置。这就是所谓的“虚拟空间”。《用户指南》(在某些方面与您的情况类似):

以下是两种方法:

假设垂直拆分始终位于固定列中(如本示例中的84):

将定位垂直分隔条。现在你可以做这个手术了

快速和肮脏:两两折叠评论 这会导致注释行折叠在“模板”行之后:

:g//s//\r         /
注:选择(9)个空格是为了匹配OP样本的起始缩进级别
IRL,您可以使用
indent('.')
以编程方式计算出有多少空格

普雷斯托:

重组:

:g//join!
可能与“吃”的东西结合使用多余的缩进(9个空格)

选择: 我通常会选择将块分割成物理文件。重新组合它们将需要更多的努力,但编辑更舒适,您可以利用vim的diffmode

只是一个快速入门:

ggn<C-v>ND
:tabnew  | 0put
:tabprev
gvVxgvVd
:tabnext | vert new | 0put
现在,您可以使用live diff高亮显示独立编辑两个窗口


让我知道,如果你想更多的投入这一战略。我可能会尝试从split temp window配置中进行重新组合。

首先,了解使vim中的类似内容更容易使用的功能:

  • 视觉块模式

  • );可以将光标移动到没有任何文本的位置。这就是所谓的“虚拟空间”。《用户指南》(在某些方面与您的情况类似):

以下是两种方法:

假设垂直拆分始终位于固定列中(如本示例中的84):

将定位垂直分隔条。现在你可以做这个手术了

快速和肮脏:两两折叠评论 这会导致注释行折叠在“模板”行之后:

:g//s//\r         /
注:选择(9)个空格是为了匹配OP样本的起始缩进级别
IRL,您可以使用
indent('.')
以编程方式计算出有多少空格

普雷斯托:

重组:

:g//join!
可能与“吃”的东西结合使用多余的缩进(9个空格)

选择: 我通常会选择将块分割成物理文件。重新组合它们将需要更多的努力,但编辑更舒适,您可以利用vim的diffmode

只是一个快速入门:

ggn<C-v>ND
:tabnew  | 0put
:tabprev
gvVxgvVd
:tabnext | vert new | 0put
现在,您可以使用live diff高亮显示独立编辑两个窗口


让我知道,如果你想更多的投入这一战略。我可能会尝试从split temp window配置中重新组合。

Plugin Align对此无能为力。我需要在某种模式下键入此注释。类似于“按下插入按钮”的插入模式,但带有缩进。或者一些插件,可以组合两个块(代码和注释)并将其提取回来进行编辑。所有的复制有什么用?在现实生活中,我会删除这些评论,因为它们似乎没有添加值Plugin Align对此无能为力。我需要在某种模式下键入此注释。类似于“按下插入按钮”的插入模式,但带有缩进。或者一些插件,可以组合两个块(代码和注释)并将其提取回来进行编辑。所有的复制有什么用?在现实生活中,我会放弃这些评论,因为它们似乎没有增加价值