Edit: Working version.
I've mapped [[ and ]] to my own functions:
nmap <silent> ]] :let &tabstop += 1 <CR> :echo 'tabstop =' &tabstop <CR>
nmap <silent> [[ :let &tabstop -= &tabstop > 1 ? 1 : 0 <CR> :echo 'tabstop =' &tabstop <CR>
However, according to :verbose map [[ these are overridden by /usr/share/vim/vim72/ftplugin/php.vim. How do I get rid of the PHP mappings while keeping my own? I've tried
autocmd FileType php unmap! [[
autocmd FileType php unmap! ]]
according to the tutorial, but then I get error messages at Vim startup:
Error detected while processing FileType Auto commands for "php":
E31: No such mapping
E31: No such mapping
Press ENTER or type command to continue
Using nnoremap instead of nmap doesn't help.
Putting the mappings in ~/.vim/after/ftplugin/php.vim also didn't work. vim -V shows:
...
finished sourcing /usr/share/vim/vim72/ftplugin/php.vim
...
finished sourcing /home/user/.vim/after/ftplugin/php/php.vim
So it does find the supposed override.
Combining nnoremap and the "after" script doesn't work either.