某些关键字的vim自动填充功能

时间:2012-10-05 17:42:12

标签: vim autocomplete

  

可能重复:
  Autocomplete method structure in Vim

所以我在我的vim上有智能自动完成功能,它在新行上自动填充'{'with'}'并将控制重定向到下一行,就像eclipse一样。因此输入“{”并按Enter键会给我

{
  |
}

哪里'|'显示我的光标位置。我想要一些针对ruby的eclipse样式,只要写入'def'就应该导致

def |
end

问题是,只有当'def'在行的开头时才会生效,否则就不会生效。

2 个答案:

答案 0 :(得分:2)

似乎有一个名为endwise的插件。我从未尝试过,但听起来就像你需要的那样。

答案 1 :(得分:0)

为此,我还推荐一个插件。扩展文字的常规插件(但通常仅在您按下时才会进行扩展,而tab之类的其他键会被破解或者我最喜欢的ultisnips

如果这些插件带有正确的代码段,您可以键入def<tab>,它会扩展为您喜欢的内容。我知道ultisnips让你可以选择只在行开头扩展,不确定snipmate。

只是为了好玩,如果你不想使用插件,你可以在你的.vimrc中定义以下内容,它将完成你想要的:

imap <expr> def (getpos(".")[2] == 1) ? "def\<CR>end\<UP> ":"def"