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

时间:2014-01-27 16:51:47

标签: vim

我确信有很多插件可以做到这一点,但看起来很简单,我想学习如何自己动手。

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

以下是我要映射的按键序列:

<minus key> <insert /*> <escape insert> <$> <insert */> <escape insert>

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

1 个答案:

答案 0 :(得分:8)

试试这个:

nnoremap - mzI/* <esc>A */<esc>`z

这是做什么的:

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