Adding new stuff
This commit is contained in:
parent
9ef8a96f9a
commit
0b3d063cb3
1580 changed files with 0 additions and 0 deletions
91
vim-plugins/ftplugin/python_editing.vim
Normal file
91
vim-plugins/ftplugin/python_editing.vim
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
map <buffer> <S-e> :w<CR>:!/usr/bin/env python % <CR>
|
||||
map <buffer> gd /def <C-R><C-W><CR>
|
||||
|
||||
set foldmethod=indent
|
||||
set foldexpr=PythonFoldExpr(v:lnum)
|
||||
set foldtext=PythonFoldText()
|
||||
|
||||
map <buffer> f za
|
||||
map <buffer> F :call ToggleFold()<CR>
|
||||
let b:folded = 1
|
||||
|
||||
function! ToggleFold()
|
||||
if( b:folded == 0 )
|
||||
exec "normal! zM"
|
||||
let b:folded = 1
|
||||
else
|
||||
exec "normal! zR"
|
||||
let b:folded = 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! PythonFoldText()
|
||||
|
||||
let size = 1 + v:foldend - v:foldstart
|
||||
if size < 10
|
||||
let size = " " . size
|
||||
endif
|
||||
if size < 100
|
||||
let size = " " . size
|
||||
endif
|
||||
if size < 1000
|
||||
let size = " " . size
|
||||
endif
|
||||
|
||||
if match(getline(v:foldstart), '"""') >= 0
|
||||
let text = substitute(getline(v:foldstart), '"""', '', 'g' ) . ' '
|
||||
elseif match(getline(v:foldstart), "'''") >= 0
|
||||
let text = substitute(getline(v:foldstart), "'''", '', 'g' ) . ' '
|
||||
else
|
||||
let text = getline(v:foldstart)
|
||||
endif
|
||||
|
||||
return size . ' lines:'. text . ' '
|
||||
|
||||
endfunction
|
||||
|
||||
function! PythonFoldExpr(lnum)
|
||||
|
||||
if indent( nextnonblank(a:lnum) ) == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
if getline(a:lnum-1) =~ '^\(class\|def\)\s'
|
||||
return 1
|
||||
endif
|
||||
|
||||
if getline(a:lnum) =~ '^\s*$'
|
||||
return "="
|
||||
endif
|
||||
|
||||
if indent(a:lnum) == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
return '='
|
||||
|
||||
endfunction
|
||||
|
||||
" In case folding breaks down
|
||||
function! ReFold()
|
||||
set foldmethod=expr
|
||||
set foldexpr=0
|
||||
set foldnestmax=1
|
||||
set foldmethod=expr
|
||||
set foldexpr=PythonFoldExpr(v:lnum)
|
||||
set foldtext=PythonFoldText()
|
||||
echo
|
||||
endfunction
|
||||
|
||||
"inoremap ; :
|
||||
"inoremap : ;
|
||||
|
||||
" Django template completion
|
||||
let g:htmldjangocomplete_html_flavour = 'html401s'
|
||||
au FileType htmldjango set omnifunc=htmldjangocomplete#CompleteDjango
|
||||
Loading…
Add table
Add a link
Reference in a new issue