我想添加依赖于我正在编写的列的注释,例如,如果我在代码中添加注释,该代码缩进4个空格,注释应该看起来像
/* Comment -------------*/
尽可能多的破折号以填充直到第100列的行。它应该识别位置在哪里以及评论的时间。
我自己无法用vimscript解决这个问题。
答案 0 :(得分:4)
您可以使用表达式映射来解决此问题;见:help :map-expr
:
:inoreabbrev <expr> comsep '/* Comment ' . repeat('-', 17 - indent('.')) . '*/'
这通过从常量中减去当前缩进(通过indent()
)来确定宽度。你也可以在这里使用&textwidth
。
每当您输入comsep
时,它都会被展开。或者,您也可以使用:inoremap <expr> <C-g> ...
代替。
要插入评论文本,您可以使用input()
,或者先插入短划线并通过附加一些"\<Left>
个密码来重新定位光标。
如果你使用像snipMate或Ultisnips这样的代码段插件,那些可能具有动态修改代码段的功能,但内置方法应该足够了。