我今天一直在写循环。 他们都有格式:
for(size_t szI = X; szI < Y; ++szI) { //Something }
而且我知道有些方法可以在vim中logging动作。 如果X和Y可以改变,我可以在vim中做一些事情来写一个for循环,一旦我提供了X和Y?
您可以使用像snipMate这样的插件来存储片段,然后您可以将片段存储在片段中。
事实上,它已经有很多预定义的片段 ,其中很多可能是有用的。
这是来自Vim wiki缩写的一个例子:
:abbreviate forl for (int i = 0; i < ; i++) {<esc>7hi
不完全是你想要的,但接近于此。
我会使用一个宏:
let @f = "ifor(size_t szI = X; szI < Y; ++szI)^M{^M}^[O^T"
注意所有的^X
字符都是通过Ctrl + Ctrl + X输入的。
然后你可以用@f
运行这个宏。
编辑:刚才看到你的问题的第二部分(不知道如果你编辑它?也许我读错了),但如果X和Y将改变,我会建议一个更具特色的解决方案,如snipMate.vim。
最进化的方式确实是使用片段引擎。 snipMate已被唤起。
我正在维护作为lh-cpp的高级片段的根的mu-template 。