我今天一直在为循环写作。所有这些都具有以下格式:
for(size_t szI = X; szI < Y; ++szI)
{
//Something
}
我知道有办法记录vim中的动作。如果X和Y可以改变,一旦我以某种方式提供X和Y,我可以在vim中做一些东西来写一个for循环吗?
答案 0 :(得分:7)
您可以使用snipMate之类的插件来存储代码段,然后您可以在其中存储for
代码段。
事实上,它已经有很多predefined snippets,其中很多都可能有用。
答案 1 :(得分:1)
这是Vim wiki on abbreviations的一个例子:
:abbreviate forl for (int i = 0; i < ; i++) {<esc>7hi
不完全是你想要的,但接近那个。
答案 2 :(得分:1)
我使用宏:
let @f = "ifor(size_t szI = X; szI < Y; ++szI)^M{^M}^[O^T"
注意所有^X
字符都是通过 Ctrl V Ctrl X 输入的。
然后,您可以使用@f
运行此宏。
编辑:刚刚看到你问题的第二部分(不确定你是否编辑过它?也许我读错了。)但是如果X和Y要改变,我会建议一个更有特色的解决方案,比如snipMate.vim
答案 3 :(得分:1)
最进化的方式确实是使用片段引擎。 snipMate已被唤起。
我正在维护mu-template,这是[{3}}高级代码段的根源。