如何添加vim键映射
编程时,我经常使用以下两行:如何添加vim键映射,vim,keymapping,Vim,Keymapping,编程时,我经常使用以下两行: sprintf(buff,"%s", __func__); putrsUART(buff); 可以设置任何键盘快捷键来插入这两行吗? 例如,当我在命令模式下键入\sp时,这些函数将添加到文件中的光标位置。这可能吗?如果是,我如何映射我的钥匙 提前感谢。请尝试使用snip Mate插入常用的代码片段 回答错误,对不起: 在vimrc中尝试以下操作: map <c-w> :sprintf(buff,"%s",func)<cr> map:
sprintf(buff,"%s", __func__);
putrsUART(buff);
可以设置任何键盘快捷键来插入这两行吗?
例如,当我在命令模式下键入\sp时,这些函数将添加到文件中的光标位置。这可能吗?如果是,我如何映射我的钥匙
提前感谢。请尝试使用snip Mate插入常用的代码片段
回答错误,对不起: 在vimrc中尝试以下操作:
map <c-w> :sprintf(buff,"%s",func)<cr>
map:sprintf(buff,“%s”,func)
这意味着映射到Ctrl-W。您可以使用缩写,这是为此而设计的
:abbr spb sprintf(buff,"%s", __func__);
:abbr uart putrsUART(buff);
使用
:help abbr
了解血淋淋的详细信息。请注意,您需要在缩写形式之后键入另一个字符,以便vim识别它们。这对于这些字符来说是很自然的,因为您将键入ENTER作为下一个字符。也可以输入多行缩写。只要在需要新行的地方使用
。这里有一个普通模式的简单映射,可以让你点击\sp
(除非你重新映射了leader,在这种情况下,使用它而不是\
)来插入sprintf语句
map <Leader>sp isprintf(buff,"%s", __func__);<Esc>
map sp isprintf(buff、%s、\uuuuu func\uuuu);
话虽如此,我认为缩写是这里的方式如前所述,缩写(我将限制为插入模式(:iabbr
),因为您可能不需要在命令行中使用它们)最适合于简单的扩展;您还可以仅为某些文件类型定义它们(通过:iabbr…
)
您的
\uuuu func\uuuu
看起来像是一个模板参数,每次都需要进行调整。您不能通过缩写来实现这一点,但是有各种插件(许多是从TextMate编辑器中的功能中获得灵感的)提供了带有参数扩展的模板插入和一些高级功能。查看snipMate、xptemplate或UltiSnips中的一个。谢谢,我在~/.vimrc文件的上面一行添加了它。并启动一个新的终端会话。我打开一个文件tmp.c并按Ctrl-W键,它显示以下错误代码。E492:不是编辑器命令:sprintf(buff,“%s”,func)”。