diff runtime/ftplugin/python.vim @ 9407:619a98a67f67

commit https://github.com/vim/vim/commit/e18dbe865d190e74fb5d43ac8bc6ac22507d0223 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 2 21:42:23 2016 +0200 Updated runtime files.
author Christian Brabandt <cb@256bit.org>
date Sat, 02 Jul 2016 21:45:06 +0200
parents 64035abb986b
children b11ceef7116e
line wrap: on
line diff
--- 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#Complet
 
 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.