vim:在/**/comment中包装当前行

red*_*888 1 vim

我确信有很多插件可以做到这一点,但它似乎很简单,我想学习如何自己做.

我希望能够将当前行包装在多行注释中.我试图为此做一个地图,但我不知道如何映射减号键移动到行中的第一个单词.

这是我想要映射的键序列:

<minus key> <insert /*> <escape insert> <$> <insert */> <escape insert>
Run Code Online (Sandbox Code Playgroud)

尝试映射减号键<S-->不起作用.这怎么可能?

Ben*_*ein 8

试试这个:

nnoremap - mzI/* <esc>A */<esc>`z
Run Code Online (Sandbox Code Playgroud)

这是做什么的:

  • nnoremap:nore在正常模式下启动非递归mapping()(n- n+ nore+ map)
  • -:映射的关键
  • mz:z在当前光标位置设置标记,这样我们就可以在完成后再回到它
  • I:在当前行的第一个非空白字符之前输入插入模式
  • /* :插入开头注释字符串
  • <esc>:离开插入模式
  • A:在当前行中的最后一个非空白字符后面输入插入模式
  •  */:插入结束注释字符串
  • <esc>:再次退出插入模式
  • `z:跳到标记的行和列z('z- 撇号而不是反引号 - 会跳到该行,但不会跳到列,我们已经在线上,所以我们想把`z我们带回到我们开始的地方)