diff options
Diffstat (limited to 'runtime/ftplugin/python.vim')
| -rw-r--r-- | runtime/ftplugin/python.vim | 34 | 
1 files changed, 22 insertions, 12 deletions
diff --git a/runtime/ftplugin/python.vim b/runtime/ftplugin/python.vim index 9e2c5a763e..df5dab8afc 100644 --- a/runtime/ftplugin/python.vim +++ b/runtime/ftplugin/python.vim @@ -2,7 +2,7 @@  " Language:	python  " Maintainer:	James Sully <sullyj3@gmail.com>  " Previous Maintainer: Johannes Zellner <johannes@zellner.org> -" Last Change:	Fri, 10 June 2016 +" Last Change:	Wed, 29 June 2016  " https://github.com/sullyj3/vim-ftplugin-python  if exists("b:did_ftplugin") | finish | endif @@ -22,28 +22,38 @@ setlocal omnifunc=pythoncomplete#Complete  set wildignore+=*.pyc -nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)\>')<cr> -nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)\>')<cr> -nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)\>')<cr> -nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)\>')<cr> +nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '\v%$\|^(class\|def)>', 'W')<cr> +nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '\v^(class\|def)>', 'Wb')<cr> +nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '\v%$\|^\s*(class\|def)>', 'W')<cr> +nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '\v^\s*(class\|def)>', 'Wb')<cr> + +xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '\v%$\|^(class\|def)>', 'W')<cr> +xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '\v^(class\|def)>', 'Wb')<cr> +xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '\v%$\|^\s*(class\|def)>', 'W')<cr> +xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '\v^\s*(class\|def)>', 'Wb')<cr>  if !exists('*<SID>Python_jump') -  fun! <SID>Python_jump(motion) range +  fun! <SID>Python_jump(mode, motion, flags) range +      if a:mode == 'x' +          normal! gv +      endif + +      normal! 0 +        let cnt = v:count1 -      let save = @/    " save last search pattern        mark '        while cnt > 0 -	  silent! exe a:motion -	  let cnt = cnt - 1 +          call search(a:motion, a:flags) +          let cnt = cnt - 1        endwhile -      call histdel('/', -1) -      let @/ = save    " restore last search pattern + +      normal! ^    endfun  endif  if has("browsefilter") && !exists("b:browsefilter")      let b:browsefilter = "Python Files (*.py)\t*.py\n" . -		       \ "All Files (*.*)\t*.*\n" +                \ "All Files (*.*)\t*.*\n"  endif  " As suggested by PEP8.  | 
