我在服务器上有一些代码。
我需要继续围绕现有代码片段重复相同的编辑。
例如现有代码:
int hello = 1;
我需要对此进行修改
#ifndef X
int hello = 1;
#else
#endif
有没有一种方法可以创建自动完成的包装器?
#ifndef X
{existing code}
#else
#endif
谢谢。
答案 0 :(得分:2)
如果您要使用相同的复杂版本,则可以为其创建一个宏(:help q
)。
答案 1 :(得分:2)
将vim Ultisnips与VISUAL选择选项一起使用:
snippet wrap "inserts text around visual selection" w
#ifndef X
${0:${VISUAL}}
#else
#endif
endsnippet
在安装Ultisnips之后,设置一个映射来编辑代码片段:
map <Leader>u :UltiSnipsEdit<cr>
现在,您可以复制上面显示的代码段,并根据需要进行相应更改。 UltiSnips的默认触发器是 Tab ,但您可以轻松更改它:
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
选择要与其他文本“换行”的行,按 Tab ,然后键入wrap
,最后键入 Tab 。注意:我使用自动换行是因为在代码段创建过程中可以选择,但是您也可以更改它。