在编程时,我经常使用以下两行:
sprintf(buff,"%s", __func__);
putrsUART(buff);
是否可以设置任何键盘快捷键来插入这两行?例如,当我在命令模式下键入 \sp 时,这些函数会添加到我文件中的光标位置。这可能吗?如果是这样,我如何映射我的键?
提前致谢。
在编程时,我经常使用以下两行:
sprintf(buff,"%s", __func__);
putrsUART(buff);
是否可以设置任何键盘快捷键来插入这两行?例如,当我在命令模式下键入 \sp 时,这些函数会添加到我文件中的光标位置。这可能吗?如果是这样,我如何映射我的键?
提前致谢。
您可以使用为此设计的缩写。
:abbr spb sprintf(buff,"%s", __func__);
:abbr uart putrsUART(buff);
用于:help abbr
血淋淋的细节。请注意,您需要在缩写形式之后键入另一个字符,以便 vim 识别它们。这对于这些来说很自然,因为您将键入 ENTER 作为下一个字符。也可以输入多行缩写。只需<CR>
在您想要换行的地方使用。
这是正常模式的简单映射,可让您点击\sp
(除非您已重新映射领导者,在这种情况下使用它而不是\
)以插入 sprintf 语句。
map <Leader>sp isprintf(buff,"%s", __func__);<Esc>
话虽如此,我认为缩写是这里的方法
如前所述,缩写(我将其限制为插入模式 ( :iabbr
),因为您可能在命令行中不需要它们)最适合简单的扩展;您也可以仅为某些文件类型定义它们(通过:iabbr <buffer> ...
)。
你__func__
看起来像一个模板参数,你每次都需要调整。您不能通过缩写来做到这一点,但有各种插件(许多受 TextMate 编辑器中的功能启发)提供模板插入和参数扩展和一些高级功能。查看snipMate、xptemplate或UltiSnips 之一。
尝试使用 snip-Mate 插入常用的代码片段。http://www.vim.org/scripts/script.php?script_id=2540
回答错误,抱歉:
在你的 vimrc 中试试这个:
map <c-w> :sprintf(buff,"%s",func)<cr>
这意味着映射到 Ctrl-W。