:ab psvm public static void main(String[] args){<CR><Space><Space><Space><Space><CR>}
我想为java定义一个abb,但它结束了,光标在最后。当我输入psvm时,我希望光标停留在{}
,而不是{}behind
。
答案 0 :(得分:1)
映射/缩写重复右侧,就好像它是键入的一样。所以,一切都按预期工作。如果要移动光标,可以使用与:help key-notation
和<CR>
相同的<Space>
附加这些移动,例如:
:ab psvm public static void main(String[] args){<CR><Space><Space><Space><Space><CR>}<Up><End>
然而,这种方法并不能很好地扩展。您可能希望通过插件升级到片段:
片段就像类固醇上的内置:abbreviate
一样,通常带有参数插入,镜像和内部多个停止。第一个非常着名(并且仍然广泛使用)的Vim插件之一是snipMate(受 TextMate 编辑器的启发);不幸的是,它不再维持;虽然有a fork。现代替代方案(虽然需要Python)是UltiSnips。还有更多内容,请参阅this list on the Vim Tips Wiki。
有三件事要评估:第一,摘录引擎本身的功能,第二,作者或其他人提供的片段的质量和广度;第三,添加新片段是多么容易。