我确信有很多插件可以做到这一点,但看起来很简单,我想学习如何自己动手。
我希望能够将当前行包装在多行注释中。我试图为此做一个地图,但我不知道如何映射减号键移动到行中的第一个单词。
以下是我要映射的按键序列:
<minus key> <insert /*> <escape insert> <$> <insert */> <escape insert>
尝试使用<S-->
映射减号键不起作用。这怎么可能?
答案 0 :(得分:8)
试试这个:
nnoremap - mzI/* <esc>A */<esc>`z
这是做什么的:
nnoremap
:以正常模式启动非递归映射(nore
)(n
- n
+ nore
+ map
) -
:映射的关键mz
:在当前光标位置设置标记z
,这样我们就可以在完成后返回I
:在当前行的第一个非空白字符之前输入插入模式/*
:插入开头评论字符串<esc>
:离开插入模式A
:在当前行的最后一个非空白字符后面输入插入模式 */
:插入结束注释字符串<esc>
:再次退出插入模式`z
:跳转到标记z
的行和列('z
- 撇号而不是反引号 - 会跳到该行,但不是专栏,我们已经上线,所以我们希望`z
带我们回到我们开始的地方)