Here are some suggestions that may help when editing PHP files.
Move to next variable on current line
PHP variables start with '$', for example, $var. In normal mode, type f$ to jump forwards to the next variable; repeat by pressing ; (next, in same direction), or , (next, in opposite direction). Typing F$ finds '$' in the backwards direction. :help f
If you do this a lot, you may want to use the following mappings in your vimrc so you can press L to jump to the next variable, or H to jump to the previous variable:
noremap L f$ noremap H F$
Fix 4 instead of $
It's easy to press 4 instead of $, resulting in code like this:
$var = "sometext"; echo 4var;
With the following map, you can quickly fix this problem by typing \4 while the cursor is still on the same line, after the '4' (this assumes the default backslash <Leader> key):
nnoremap <Leader>4 F4r$A
Here is an alternative that returns the cursor to its initial position:
nnoremap <Leader>4 m`F4r$`` inoremap <Leader>4 <Esc>m`F4r$``a
Abbreviations to insert debug code
The following abbreviations provide an easy way to enter debug code. In insert mode, type phpb then the name of a variable to be displayed.
iab phpb exit("<hr>Debug "); iab phpv echo "<hr><pre>";var_dump($a);exit("debug ");
These display any variables that have been yanked into register a:
iab phpbb exit("<hr>Debug <C-R>a "); iab phpvv echo "<hr><pre>";var_dump(<C-R>a);exit("debug ");
Var_dump is used for displaying arrays.
This displays all defined variables:
iab phpallv print_r(get_defined_vars());
Replace associative with object style notation
The substitute command presented below looks for each PHP array reference like:
$a = $some_array['key_name'];
and replaces it with:
$a = $some_array->key_name;
In the above, the c flag prompts for confirmation of each change.
- php.vim (html enhanced) combination of the php and html indent files