所以我在我的vim上有智能自动完成功能,它在新行上自动填充'{'with'}'并将控制重定向到下一行,就像eclipse一样。因此输入“{”并按Enter键会给我
{
|
}
哪里'|'显示我的光标位置。我想要一些针对ruby的eclipse样式,只要写入'def'就应该导致
def |
end
问题是,只有当'def'在行的开头时才会生效,否则就不会生效。
答案 0 :(得分:2)
似乎有一个名为endwise的插件。我从未尝试过,但听起来就像你需要的那样。
答案 1 :(得分:0)
为此,我还推荐一个插件。扩展文字的常规插件(但通常仅在您按下时才会进行扩展,而tab
之类的其他键会被破解或者我最喜欢的ultisnips。
如果这些插件带有正确的代码段,您可以键入def<tab>
,它会扩展为您喜欢的内容。我知道ultisnips让你可以选择只在行开头扩展,不确定snipmate。
只是为了好玩,如果你不想使用插件,你可以在你的.vimrc中定义以下内容,它将完成你想要的:
imap <expr> def (getpos(".")[2] == 1) ? "def\<CR>end\<UP> ":"def"