Skip to content

Latest commit

 

History

History
50 lines (29 loc) · 2.81 KB

GUIDE.md

File metadata and controls

50 lines (29 loc) · 2.81 KB

Beginner's Guide

phpcomplete.vim complements Vim's built-in omnicomplete functions. It relies on Vim's access to a tags file.

A tags file is a metadata file that can describe your code and the relationships between its elements, like Classes, Interfaces, Methods, etc.

phpcomplete.vim does not generate that file for you, so before using phpcomplete.vim, you'll need to generate it for your PHP project on your own.

Generating a tags file

First, you'll need a program that can parse your PHP project and output a tags file. There are a few choices for doing so and they're outlined here: Getting Better Tags.

Once you have a ctags or phpctags program installed, make sure it's in your $PATH (relevant StackExchange post).

The rest of this guide will assume you're using phpctags; if you're using something else, substitute the phpctags command with ctags.

Now we're ready to generate our tags file. First, change directories to your project root, then you'll run the command to generate a tags file. Like so:

$ cd /path/to/your/project
$ phpctags -R

This should output a tags file in the current directory.

You may want to add that file to your .gitignore. If you're working with non-Vim users, you can try adding it to .git/info/exclude so as not to pollute your project's .gitignore with your Vim-specific rules.

Note: If you're using phpctags and your project is large enough, phpctags might run out of memory. If that happens, it will silently fail by not outputting a tags file at all. You can try replacing the command above with: phpctags --memory=-1 -R to give phpctags unlimited memory.

Making sure Vim can read your tags file

By default, Vim will look for your tags file in your cwd under the following files: ./tags,tags, this default behaviour is usually good enough. The file lookup is controlled by the option tags. Some plugins like fugitive will add your project's .git/tags file to this list. If for some reason you need to add an another path you can do it like this:

set tags+=./some/path/to/extra/tags

See more under :help 'tags'

Getting completions

Once you have everything set up above, you can finally get completions! The command to get Vim to open up suggestions is <ctrl-x><ctrl-o>.

That means hitting the CTRL+x keys at the same time, then hitting CTRL+o right after.

If there are multiple suggestions, you can use CTRL+n to scroll down the list and CTRL+p to scroll up the list.

Hitting TAB will complete the word under your cursor with your selection.

That's it, enjoy!