Here are some suggestions that may help when editing PHP files.
Move to next variable on current line[edit | edit source]
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 $[edit | edit source]
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[edit | edit source]
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
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[edit | edit source]
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.
See also[edit | edit source]
- php.vim (html enhanced) combination of the php and html indent files