【问题标题】:vim autocomplete on certain keywords [duplicate]vim自动完成某些关键字[重复]
【发布时间】:2012-10-06 06:41:20
【问题描述】:

可能重复:
Autocomplete method structure in Vim

所以我的 vim 上有智能自动完成功能,它可以在新行上自动完成 '{' 和 '}' 并将控制重定向到下一行,就像 eclipse 一样。所以输入'{'并按回车给我

{
  |
}

在哪里'|'显示我的光标位置。我想要 ruby​​ 的 Eclipse 风格,只要写 'def' 它应该会导致

def |
end

问题是这应该只在'def'在行首时生效,否则不生效。

【问题讨论】:

  • 你知道this吗?
  • @gokcehan 您应该在答案中添加对该插件的描述及其链接。

标签: vim autocomplete


【解决方案1】:

似乎有一个名为endwise 的插件。我从未尝试过,但这听起来像是您需要的。

【讨论】:

    【解决方案2】:

    为此,我还推荐一个插件。扩展文本的通用插件(但通常只有您按下才会发生扩展,而像 tab 这样的附加键是 snipmate 或我最喜欢的 ultisnips

    使用这些带有正确 sn-ps 的插件,您可以键入 def<tab>,它会扩展为您喜欢的内容。我知道 ultisnips 为您提供了仅在行首扩展的选项,不确定 snipmate。

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2011-03-15
      • 2011-07-22
      • 2011-10-22
      • 1970-01-01
      相关资源
      最近更新 更多