This is a mirror of http://www.vim.org/scripts/script.php?script_id=2979 This script defines a parameter text object. A parameter is the text between parentheses or commas, typically found in a function's argument list. See: :help text-objects for a description of what can be done with text objects. Also See: :help a( If you want to operate on the parentheses also. Like all the other text-objects, a parameter text object can be selected following these commands: 'd', 'c', 'y', 'v', etc. The script defines these operator mappings: aP "a parameter", select a parameter, including the preceding comma (if there is one). iP "inner parameter", select a parameter, not including commas. If you would like to remap the commands then you can prevent the default mappings from getting set if you set g:no_parameter_object_maps = 1 in your .vimrc file. Then remap the commands as desired, like this: let g:no_parameter_object_maps = 1 vmap <silent> ia <Plug>ParameterObjectI omap <silent> ia <Plug>ParameterObjectI vmap <silent> aa <Plug>ParameterObjectA omap <silent> aa <Plug>ParameterObjectA By default, aP on the first parameter will not include a comma. This will make it behave just like iP in this special case. The behaviour in the previous version of this plugin was that aP must always capture at least one comma: in this way, if you delete a parameter, you will always end up with correct code (i.e. no extra commas). However, this is inconsistent with the behaviour of aP in non-first parameters in that the comma is sometimes at the beginning of the text-object (non-first parameters), and sometimes at the end (first parameters). This behaviour can be switched on by setting g:parameter_objects_force_comma. This is a slick version of argtextobj vimscript #2699; though mine is shorter and can handle counts (ie. c3aP). NOTE: Negative ratings don't help the script to improve. Instead, please send me an email (shown in my profile). Thank you.