xref: /vim-8.2.3635/runtime/ftplugin/python.vim (revision 071d4279)
1*071d4279SBram Moolenaar" Vim filetype plugin file
2*071d4279SBram Moolenaar" Language:	python
3*071d4279SBram Moolenaar" Maintainer:	Johannes Zellner <[email protected]>
4*071d4279SBram Moolenaar" Last Change:	Wed, 21 Apr 2004 13:13:08 CEST
5*071d4279SBram Moolenaar
6*071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif
7*071d4279SBram Moolenaarlet b:did_ftplugin = 1
8*071d4279SBram Moolenaar
9*071d4279SBram Moolenaarsetlocal cinkeys-=0#
10*071d4279SBram Moolenaarsetlocal indentkeys-=0#
11*071d4279SBram Moolenaarsetlocal include=\s*\\(from\\\|import\\)
12*071d4279SBram Moolenaarsetlocal includeexpr=substitute(v:fname,'\\.','/','g')
13*071d4279SBram Moolenaarsetlocal suffixesadd=.py
14*071d4279SBram Moolenaarsetlocal comments-=:%
15*071d4279SBram Moolenaarsetlocal commentstring=#%s
16*071d4279SBram Moolenaar
17*071d4279SBram Moolenaarset wildignore+=*.pyc
18*071d4279SBram Moolenaar
19*071d4279SBram Moolenaarnnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
20*071d4279SBram Moolenaarnnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
21*071d4279SBram Moolenaarnnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
22*071d4279SBram Moolenaarnnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
23*071d4279SBram Moolenaar
24*071d4279SBram Moolenaarif exists('*<SID>Python_jump') | finish | endif
25*071d4279SBram Moolenaar
26*071d4279SBram Moolenaarfun! <SID>Python_jump(motion) range
27*071d4279SBram Moolenaar    let cnt = v:count1
28*071d4279SBram Moolenaar    let save = @/    " save last search pattern
29*071d4279SBram Moolenaar    mark '
30*071d4279SBram Moolenaar    while cnt > 0
31*071d4279SBram Moolenaar	silent! exe a:motion
32*071d4279SBram Moolenaar	let cnt = cnt - 1
33*071d4279SBram Moolenaar    endwhile
34*071d4279SBram Moolenaar    call histdel('/', -1)
35*071d4279SBram Moolenaar    let @/ = save    " restore last search pattern
36*071d4279SBram Moolenaarendfun
37*071d4279SBram Moolenaar
38*071d4279SBram Moolenaarif has("gui_win32") && !exists("b:browsefilter")
39*071d4279SBram Moolenaar    let b:browsefilter = "Python Files (*.py)\t*.py\n" .
40*071d4279SBram Moolenaar		       \ "All Files (*.*)\t*.*\n"
41*071d4279SBram Moolenaarendif
42