0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/ftplugin/python.vim

77 lines
2.2 KiB
VimL
Raw Normal View History

2004-06-13 20:20:40 +00:00
" Vim filetype plugin file
" Language: python
2016-06-12 23:01:46 +02:00
" Maintainer: James Sully <sullyj3@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
2016-07-02 21:42:23 +02:00
" Last Change: Wed, 29 June 2016
2016-06-12 23:01:46 +02:00
" https://github.com/sullyj3/vim-ftplugin-python
2004-06-13 20:20:40 +00:00
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
let s:keepcpo= &cpo
set cpo&vim
2004-06-13 20:20:40 +00:00
setlocal cinkeys-=0#
setlocal indentkeys-=0#
setlocal include=^\\s*\\(from\\\|import\\)
2004-06-13 20:20:40 +00:00
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal suffixesadd=.py
2013-11-28 13:53:34 +01:00
setlocal comments=b:#,fb:-
setlocal commentstring=#\ %s
2004-06-13 20:20:40 +00:00
2006-04-12 21:52:12 +00:00
setlocal omnifunc=pythoncomplete#Complete
2006-01-13 22:35:40 +00:00
2004-06-13 20:20:40 +00:00
set wildignore+=*.pyc
2016-07-02 21:42:23 +02:00
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>
2004-06-13 20:20:40 +00:00
2013-11-28 13:53:34 +01:00
if !exists('*<SID>Python_jump')
2016-07-02 21:42:23 +02:00
fun! <SID>Python_jump(mode, motion, flags) range
if a:mode == 'x'
normal! gv
endif
normal! 0
2013-11-28 13:53:34 +01:00
let cnt = v:count1
mark '
while cnt > 0
2016-07-02 21:42:23 +02:00
call search(a:motion, a:flags)
let cnt = cnt - 1
2013-11-28 13:53:34 +01:00
endwhile
2016-07-02 21:42:23 +02:00
normal! ^
2013-11-28 13:53:34 +01:00
endfun
endif
2004-06-13 20:20:40 +00:00
2013-11-28 13:53:34 +01:00
if has("browsefilter") && !exists("b:browsefilter")
2004-06-13 20:20:40 +00:00
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
2016-07-02 21:42:23 +02:00
\ "All Files (*.*)\t*.*\n"
2004-06-13 20:20:40 +00:00
endif
2013-10-06 14:22:40 +02:00
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
" First time: try finding "pydoc".
if !exists('g:pydoc_executable')
if executable('pydoc')
let g:pydoc_executable = 1
else
let g:pydoc_executable = 0
endif
endif
" If "pydoc" was found use it for keywordprg.
if g:pydoc_executable
setlocal keywordprg=pydoc
endif
let &cpo = s:keepcpo
unlet s:keepcpo