开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

PHP 开发人员的 Vim 生产力技巧

我使用Vim来满足我所有的编辑需求——TODO列表、电子邮件、演示文稿大纲、任何语言的编码……一切。所以,我想我应该开始与其他人分享我的一些vim习惯和工具,尤其是与将Vim与PHP结合使用的那些习惯和工具。

将PHP解释器和linter映射到击键

作为PHP开发人员,我做过的最有用的事情可能是添加映射以通过(a)PHP解释器(使用Ctrl-M)和(b)PHP解释器的linter(使用Ctrl-L)。这些是通过以下方式完成的:

" run file with PHP CLI (CTRL-M)
:autocmd FileType php noremap <C-M> :w!<CR>:!$HOME/bin/php %<CR>

" PHP parser check (CTRL-L)
:autocmd FileType php noremap <C-L> :!$HOME/bin/php -l %<CR>

(我有\~/bin/php作为我的PHP解释器,它允许我使用自定义配置文件运行PHP,以及更改我正在使用的PHP二进制文件。)

这两个命令让我可以快速轻松地检查我的语法是否正确,以及轻松运行单元测试套件。

Vim项目

接下来是出色的项目插件。

最基本的“项目”允许您设置一个导航窗格,其中包含与您的项目相关的文件列表。这些文件通常按目录组织,但美妙之处在于可以定义层次结构,但它对您的给定项目有意义。它还具有基于给定目录创建项目的工具,根据您指定的过滤器递归地提取文件。键入:helpproject以在安装后获取相关文档;\C将帮助您创建您的第一个项目。

每个项目可以由一个或多个项目折叠组成;这些可以是子项目,或自定义层次结构或文件分组。例如,在myZendFramework项目文件中,我有“library”、“tests”和“documentation”折叠——“library”指向“library/Zend/”,“tests”指向“tests/”和“documentation””指向”文档/手册/en/”。在每个子目录中,我都有折叠。由于目录和子项目被指定为折叠,您可以使用Vim的本机折叠机制只保持感兴趣的文件可见,这非常方便。

基本上,Project允许vim充当最小的IDE。使用左侧的文件列表,您只需在文件上按回车键,它就会加载到主窗格中。更有趣的是当您使用\S命令时,它将拆分主窗格并将文件加载到新窗格中。这在进行测试驱动开发时特别有用,因为您可以有一个窗格用于单元测试代码,另一个窗格用于类文件,允许您在它们之间来回跳转。添加我之前列出的Ctrl-MCtrl-L命令,您现在还可以快速轻松地检查文件中的语法错误并直接在Vim窗口。

还有其他命令。您可以通过特定脚本运行所有文件,grep项目中的所有文件,将特定文件类型映射到特定启动器等。将它与其他Vim功能结合使用,您将拥有一个最小但功能强大的IDE,可在一秒钟内启动.

默认情况下,Project将项目存储在$HOME/.vimprojects中。我发现在任何给定时间我都不需要我的所有项目,所以我创建了一个$HOME/.projects/目录,其中每个项目都有一个项目条目——我只是简单地保存以下内容一个项目折叠到这棵树下的文件。然后我可以执行:r~/.projects/以在我想处理给定项目时读取它。这有助于我保持工作空间整洁,也有助于我一次专注于给定的项目。

标签

我已经在别处介绍了ctags,所以我不会在这里介绍它们,但是定义了ctags后,我得到了大多数类和方法的制表符补全(并且Vim负责当前类文件中类成员的制表符补全),以及快速轻松地打开我标记的类的类文件的能力——当您想查看哪些方法可用以及它们如何工作时,这很有用。


我将尝试介绍我在即将发布的博客文章中使用的其他vim技术。不过,此处列出的那些极大地提高了我的工作效率,并且是我每天都在使用的东西。

未经允许不得转载:我爱分享网 » PHP 开发人员的 Vim 生产力技巧

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏