xref: /vim-8.2.3635/runtime/ftplugin/python.vim (revision 9a7224b5)
1071d4279SBram Moolenaar" Vim filetype plugin file
2071d4279SBram Moolenaar" Language:	python
3071d4279SBram Moolenaar" Maintainer:	Johannes Zellner <[email protected]>
4071d4279SBram Moolenaar" Last Change:	Wed, 21 Apr 2004 13:13:08 CEST
5071d4279SBram Moolenaar
6071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif
7071d4279SBram Moolenaarlet b:did_ftplugin = 1
8*9a7224b5SBram Moolenaarlet s:keepcpo= &cpo
9*9a7224b5SBram Moolenaarset cpo&vim
10071d4279SBram Moolenaar
11071d4279SBram Moolenaarsetlocal cinkeys-=0#
12071d4279SBram Moolenaarsetlocal indentkeys-=0#
13071d4279SBram Moolenaarsetlocal include=\s*\\(from\\\|import\\)
14071d4279SBram Moolenaarsetlocal includeexpr=substitute(v:fname,'\\.','/','g')
15071d4279SBram Moolenaarsetlocal suffixesadd=.py
16071d4279SBram Moolenaarsetlocal comments-=:%
17071d4279SBram Moolenaarsetlocal commentstring=#%s
18071d4279SBram Moolenaar
1918144c84SBram Moolenaarsetlocal omnifunc=pythoncomplete#Complete
20a40ceaf8SBram Moolenaar
21071d4279SBram Moolenaarset wildignore+=*.pyc
22071d4279SBram Moolenaar
23071d4279SBram Moolenaarnnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
24071d4279SBram Moolenaarnnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
25071d4279SBram Moolenaarnnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
26071d4279SBram Moolenaarnnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
27071d4279SBram Moolenaar
28071d4279SBram Moolenaarif exists('*<SID>Python_jump') | finish | endif
29071d4279SBram Moolenaar
30071d4279SBram Moolenaarfun! <SID>Python_jump(motion) range
31071d4279SBram Moolenaar    let cnt = v:count1
32071d4279SBram Moolenaar    let save = @/    " save last search pattern
33071d4279SBram Moolenaar    mark '
34071d4279SBram Moolenaar    while cnt > 0
35071d4279SBram Moolenaar	silent! exe a:motion
36071d4279SBram Moolenaar	let cnt = cnt - 1
37071d4279SBram Moolenaar    endwhile
38071d4279SBram Moolenaar    call histdel('/', -1)
39071d4279SBram Moolenaar    let @/ = save    " restore last search pattern
40071d4279SBram Moolenaarendfun
41071d4279SBram Moolenaar
42071d4279SBram Moolenaarif has("gui_win32") && !exists("b:browsefilter")
43071d4279SBram Moolenaar    let b:browsefilter = "Python Files (*.py)\t*.py\n" .
44071d4279SBram Moolenaar		       \ "All Files (*.*)\t*.*\n"
45071d4279SBram Moolenaarendif
46*9a7224b5SBram Moolenaar
47*9a7224b5SBram Moolenaarlet &cpo = s:keepcpo
48*9a7224b5SBram Moolenaarunlet s:keepcpo
49