我正在处理的代码库需要围绕我们所做的任何修改的标准注释:
// -----------ABCD---------------
然后
// ----------\ABCD---------------
映射短-abcd
和\abcd
组合键以生成这些较长字符串的最佳方法是什么?
答案 0 :(得分:2)
最简单的内置:help abbreviations
:
inoreab abcd // -----------ABCD---------------
inoreab abcD // ----------\ABCD---------------
为什么我选择不同的触发器?对于允许的密钥,有一些规则(在上述帮助链接下记录为“三种类型的缩写”);最简单的是它是所有关键字字符。
如果您坚持使用这些确切的触发器,则必须使用'iskeyword'
选项(可能会影响语法突出显示和动作!),或切换到:inoremap
。这样做的缺点是,在解决任何歧义之前你不会看到打字的字符(尝试一下;你会看到我的意思)。
如果没有多个缩写,则需要代码段。
片段就像类固醇上的内置:abbreviate
一样,通常带有参数插入,镜像和内部多个停止。第一个非常着名(并且仍然广泛使用)的Vim插件之一是snipMate(受 TextMate 编辑器的启发);不幸的是,它不再维持;虽然有a fork。现代替代方案(虽然需要Python)是UltiSnips。还有更多内容,请参阅this list on the Vim Tips Wiki和this comparison by Mark Weber。
代码段看起来像这样(snipMate语法):
snippet abcd
// -----------${1:ABCD}---------------
${2:content}
// ----------\$1---------------
${3}