94 lines
2.4 KiB
VimL
94 lines
2.4 KiB
VimL
set number
|
|
colo zellner
|
|
filetype plugin indent on
|
|
set nocompatible
|
|
syntax on
|
|
|
|
set ignorecase
|
|
set showmatch
|
|
|
|
let g:netrw_banner = 0
|
|
let g:netrw_liststyle = 3
|
|
let g:netrw_browse_split = 3
|
|
let g:netrw_altv = 1
|
|
let g:netrw_winsize = 15
|
|
|
|
|
|
let mapleader = ","
|
|
let g:mapleader = ","
|
|
|
|
set wildmenu
|
|
|
|
"Trying to fix syntaxHighlighting
|
|
"autocmd BufEnter * :syntax sync fromstart
|
|
|
|
set hidden
|
|
" Enable folding
|
|
set foldmethod=indent
|
|
set foldlevel=99
|
|
" fold with space
|
|
nnoremap <space> za
|
|
|
|
|
|
" always show status line
|
|
set laststatus=2
|
|
" format status line
|
|
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l
|
|
|
|
set backspace=indent,eol,start
|
|
" always show status line
|
|
set laststatus=2
|
|
" format status line
|
|
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l
|
|
|
|
"
|
|
" Movement
|
|
"
|
|
|
|
" treat long lines as break lines
|
|
map j gj
|
|
map k gk
|
|
|
|
" useful mappings for tabs
|
|
map <leader>tn :tabnew
|
|
map <leader>tm :tabmove
|
|
map <leader>to :tabonly<cr>
|
|
map <leader>tc :tabclose<cr>
|
|
|
|
" move smarter between windows
|
|
map <C-j> <C-W>j
|
|
map <C-k> <C-W>k
|
|
map <C-h> <C-W>h
|
|
map <C-l> <C-W>l
|
|
au BufRead,BufNewFile *.c,*.h,*.conf match Error /\s\+$/
|
|
au BufRead,BufNewFile *.py,*.pyw match pythonSpaceError /\s\+$/
|
|
au BufWritePost *.pm silent! %s/\s\+$//c
|
|
au BufWritePost *.pm silent! %s/^\(\s\+}\)\(for\|if\|else\)/\1 \2/c
|
|
" au BufWritePost *.pm silent! %s/\(\S\)\s\s\+/\1 /c
|
|
" au BufWritePost *.pm %s/^\(\s\+\)\(for\|if\|else\)\((\|{\)/\1\2 \3/c
|
|
au BufWritePost *.pm silent! %s/^\(\s\+}*\s*\)\(for\|if\|unless\|else\)\((\|{\)/\1\2 \3/c
|
|
au BufWritePost *.pm silent! %s/\v(\s*(if|for|else|unless|while|until).*\))\{\s*$/\1 \{/gc
|
|
"au BufWritePost *.pm %s/\(\$[a-z_]\+\)\(\(->{[\$a-z_]\+}\)\{-}\)\(->[a-z_]\+\)\(;\)/\1\2\4()\5/gc
|
|
" au BufWritePost *.pm silent! %s/\v(\$\w+)((-\>\{\"*\$*\w+\"*\}|-\>\w+\(\))*)(-\>\w+)(-\>|;)/\1\2\4\(\)\5/gc
|
|
"au BufWritePost *.pm silent! %s/\v(\S+),(\S+)/\1, \2/gc
|
|
"au BufWritePost *.pm silent! %s/){/) {/gc
|
|
"au BufWritePost *.pm silent! %s/\(\w\){/\1 {/gc
|
|
"au BufWritePost *.pm silent! %s/\s\+$//gc
|
|
" au BufWritePost *.pm silent! %s/ \{4\}/\t/gc
|
|
au BufWritePost *.pm silent! %s/\n\{3,\}/\r\r/c
|
|
" %s/\v^(sub \w+)\{/\1 \{/gc -> sub ..{ -> sub .. {
|
|
"augroup format_save | au!
|
|
" autocmd BufWritePost %s/^\s\+\n/\r/gce
|
|
"augroup end
|
|
|
|
|
|
" helper functions
|
|
|
|
function! HasPaste()
|
|
if &paste
|
|
return 'PASTE MODE '
|
|
en
|
|
return ''
|
|
endfunction
|
|
|