1071d4279SBram Moolenaar" Vim filetype plugin file 2071d4279SBram Moolenaar" Language: python 3071d4279SBram Moolenaar" Maintainer: Johannes Zellner <[email protected]> 4*92dff182SBram Moolenaar" Last Change: 2014 Feb 09 5b1332080SBram Moolenaar" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST 6071d4279SBram Moolenaar 7071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif 8071d4279SBram Moolenaarlet b:did_ftplugin = 1 99a7224b5SBram Moolenaarlet s:keepcpo= &cpo 109a7224b5SBram Moolenaarset cpo&vim 11071d4279SBram Moolenaar 12071d4279SBram Moolenaarsetlocal cinkeys-=0# 13071d4279SBram Moolenaarsetlocal indentkeys-=0# 14*92dff182SBram Moolenaarsetlocal include=^\\s*\\(from\\\|import\\) 15071d4279SBram Moolenaarsetlocal includeexpr=substitute(v:fname,'\\.','/','g') 16071d4279SBram Moolenaarsetlocal suffixesadd=.py 1736782084SBram Moolenaarsetlocal comments=b:#,fb:- 1836782084SBram Moolenaarsetlocal commentstring=#\ %s 19071d4279SBram Moolenaar 2018144c84SBram Moolenaarsetlocal omnifunc=pythoncomplete#Complete 21a40ceaf8SBram Moolenaar 22071d4279SBram Moolenaarset wildignore+=*.pyc 23071d4279SBram Moolenaar 24071d4279SBram Moolenaarnnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr> 25071d4279SBram Moolenaarnnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr> 26071d4279SBram Moolenaarnnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr> 27071d4279SBram Moolenaarnnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr> 28071d4279SBram Moolenaar 2936782084SBram Moolenaarif !exists('*<SID>Python_jump') 30071d4279SBram Moolenaar fun! <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 Moolenaar endfun 4136782084SBram Moolenaarendif 42071d4279SBram Moolenaar 4336782084SBram Moolenaarif has("browsefilter") && !exists("b:browsefilter") 44071d4279SBram Moolenaar let b:browsefilter = "Python Files (*.py)\t*.py\n" . 45071d4279SBram Moolenaar \ "All Files (*.*)\t*.*\n" 46071d4279SBram Moolenaarendif 479a7224b5SBram Moolenaar 48b1332080SBram Moolenaar" As suggested by PEP8. 49b1332080SBram Moolenaarsetlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8 50b1332080SBram Moolenaar 51b1332080SBram Moolenaar" First time: try finding "pydoc". 52b1332080SBram Moolenaarif !exists('g:pydoc_executable') 53b1332080SBram Moolenaar if executable('pydoc') 54b1332080SBram Moolenaar let g:pydoc_executable = 1 55b1332080SBram Moolenaar else 56b1332080SBram Moolenaar let g:pydoc_executable = 0 57b1332080SBram Moolenaar endif 58b1332080SBram Moolenaarendif 59b1332080SBram Moolenaar" If "pydoc" was found use it for keywordprg. 60b1332080SBram Moolenaarif g:pydoc_executable 61b1332080SBram Moolenaar setlocal keywordprg=pydoc 62b1332080SBram Moolenaarendif 63b1332080SBram Moolenaar 649a7224b5SBram Moolenaarlet &cpo = s:keepcpo 659a7224b5SBram Moolenaarunlet s:keepcpo 66