sponsor Vim development Vim logo Vim Book Ad

throughpairs :   spread or shrink the space of parenthesis symmetrically & smart traverse paren

 script karma  Rating 6/9, Downloaded by 1439  Comments, bugs, improvements  Vim wiki

created by
Han-seok Ryu
script type
1. traverse

map  <M-f> : forward traverse parentheses,  will stop at end position
imap <M-b> : backward traverse parentheses, will stop at start position

let abc = func( foo( xyz ), love( child(toy, food(water) ), parent ) )
                                        |                                               |  |              |  |
                         |      |                   |          |               |          

2. spread or shrink

imap <M-l> : spread out parentheses
imap <M-h> : shink parentheses

3. easy pass

<C-j> especially, in python coding can pass through "..." '...' (...) [...] <...> in insert mode selectively
      if the cursor meet keyword (say, class object(abc), if (...), for(...), etc.)
      <C-j> key will work as <right arrow> or <tab> or <enter> or spot ":" and <enter>
      so as to user don't care about which key to press.


        in python
            def func(▄)
            def func():

        in C
            void func(▄)
            void func() {

    else works like enter key if the pos of cursor is at last column.

You can add or modify
let g:closingList = ["'",'"',")","]",">","}","$",'']

in which <C-j> key can pass through.

Note : all work will be done in insert mode except <M-f>

install details
drop in your vimfiles/plugin


using Bundle

in your .vimrc ( _vimrc for windows )
Bundle 'https://github.com/escher9/throughpairs'


rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
throughpairs.zip 1.0 2013-11-23 7.3 Han-seok Ryu remap
throughpairs.zip 1.0 2013-11-22 7.3 Han-seok Ryu initial stable
easy-through-pairing.vim 0.5 2013-05-13 7.3 Han-seok Ryu Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.