【发布时间】:2012-06-13 18:07:59
【问题描述】:
PHP 有一些非常不一致的函数参数(例如,有时首先是 haystack,然后是 needle,有时反过来)。我希望 vim 以某种方式暗示预期的参数。我主要关心集成的 PHP 函数,而不是特定于项目的函数。这可以设置/配置吗?
我的想法是我输入:
strpos(
并且 vim 告诉我它需要 $haystack, $needle。
【问题讨论】:
PHP 有一些非常不一致的函数参数(例如,有时首先是 haystack,然后是 needle,有时反过来)。我希望 vim 以某种方式暗示预期的参数。我主要关心集成的 PHP 函数,而不是特定于项目的函数。这可以设置/配置吗?
我的想法是我输入:
strpos(
并且 vim 告诉我它需要 $haystack, $needle。
【问题讨论】:
你使用什么版本的 Vim?
没有任何额外的插件或配置,在输入几个内置函数的字母后点击<C-x><C-o>,你应该会得到omnicompletion菜单和一个显示当前签名的小预览窗口选定的功能。见:help compl-omni和:help ft-php-omni
使用strpos(,您应该得到:
strpos(string haystack, mixed needle [, int offset] | int
【讨论】:
优秀的 vim 插件 PIV 做了非常相似的事情。如果你在函数上按shift-K,你会得到函数手册页的 in-vim 离线视图——它不仅显示函数期望的参数,还显示如何使用它们。
这只是 PIV 的有用功能之一。例如,当您在函数的括号中按 <tab> 时,它还可以使用已知变量自动填充参数。 (我确实相信这需要安装 SuperTab)
【讨论】:
Tag List 可能会对您有所帮助。看到这个related answer
【讨论】: