You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
4.5 KiB
VimL

" pSy's vimrc 0.1
" originally from http://arch.har-ikkje.net/configs/home/dot.vim/vimrc
" -[ General behaviour ]-
" general
set nocompatible
set wrap
" search
set ignorecase
set smartcase
set incsearch
set hlsearch
set showmatch
" indenting
set autoindent
set smartindent
" command mode
set wildmenu
set wildmode=list:longest,full
" -[ Look ]-
" general
set showcmd
set showmode
set number
" statusline
set statusline=%<%f\ %y%h%m%r\ CWD:%{getcwd()}%=%-14.(%l,%c%V%)\ %P
set laststatus=2
" -[ FileTypes ]-
filetype indent on
" vim as pager
autocmd FileType man set colorcolumn=0
" mail
autocmd FileType mail,human set formatoptions+=t textwidth=72
" latex-suite
filetype plugin indent on
set grepprg=grep\ -nH\ $*
let g:tex_flavor = "latex"
" Python stuff
autocmd FileType python let python_highlight_all = 1
autocmd FileType python let python_slow_sync = 1
autocmd FileType python set complete+=k/home/psy/.vim/pydiction iskeyword+=.,(
autocmd bufnewfile *.py so /home/psy/.vim/headers/py
autocmd bufnewfile *.py exe "1," . 10 . "g/File Name.*/s//File Name : " .expand("%")
autocmd bufnewfile *.py exe "1," . 10 . "g/Creation Date :.*/s//Creation Date : " .strftime("%d-%m-%Y")
autocmd Bufwritepre,filewritepre *.py execute "normal ma"
autocmd Bufwritepre,filewritepre *.py exe "1," . 10 . "g/Last Modified :.*/s/Last Modified :.*/Last Modified : " .strftime("%c")
autocmd bufwritepost,filewritepost *.py execute "normal Gi"
autocmd FileType python setlocal omnifunc=pysmell#Complete
" Ruby, YAML, HAML, SASS, JavaScript, CoffeeScript, HTML stuff
autocmd FileType ruby,eruby,yaml,haml,sass,javascript,coffee,html setlocal softtabstop=2 shiftwidth=2 tabstop=2
let javaScript_fold=1
" LaTeX
autocmd Filetype tex,latex set grepprg=grep\ -nH\ $
autocmd Filetype tex,latex let g:tex_flavor = "latex"
autocmd bufnewfile *.tex so /home/psy/.vim/headers/tex
" Less (the CSS thing)
autocmd bufread,bufnewfile *.less set filetype=css
" lyX
autocmd bufread,BufNewFile *.lyx set syntax=lyx foldmethod=syntax foldcolumn=3 filetype=lyx
autocmd bufread,BufNewFile *.lyx syntax sync fromstart
autocmd Filetype lyx,lyX set grepprg=grep\ -nH\ $
autocmd Filetype lyx,lyX let g:tex_flavor = "lyx"
" C
autocmd bufnewfile *.c so /home/psy/.vim/headers/c
autocmd bufnewfile *.c exe "1," . 6 . "g/File Name.*/s//File Name : " .expand("%")
autocmd bufnewfile *.c exe "1," . 6 . "g/Creation Date :.*/s//Creation Date : " .strftime("%d-%m-%Y")
autocmd Bufwritepre,filewritepre *.c execute "normal ma"
autocmd Bufwritepre,filewritepre *.c exe "1," . 6 . "g/Last Modified :.*/s/Last Modified :.*/Last Modified : " .strftime("%c")
autocmd bufwritepost,filewritepost *.c execute "normal `a"
" HTML
autocmd bufnewfile *.html so /home/psy/.vim/headers/html
" Nimrod
autocmd BufRead,BufNewFile *.nim set filetype=nimrod
" JS SyntaxHighlighter Brush
autocmd bufnewfile shBrush*.js so /home/psy/.vim/headers/syntaxhighlighterbrush.js
" php
autocmd bufnewfile *.php so /home/psy/.vim/plugins/phpdoc.vim
autocmd bufnewfile *.php inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i
autocmd bufnewfile *.php nnoremap <C-P> :call PhpDocSingle()<CR>
autocmd bufnewfile *.php vnoremap <C-P> :call PhpDocRange()<CR>
" markdown
autocmd bufread,bufnewfile *.md set filetype=markdown
" blog entry auto renaming
function! Blog_RenameArticle()
" paranoia?
if isdirectory(expand("%"))
return
endif
let abspath = expand("%:p:h")
if abspath !~ 'blog\.nkoehring\.de/src/pages/articles'
return
endif
let filename = expand("%:t")
let matches = matchlist(filename, '\(\d\{14}\)\(\p\+\)')
if len(matches) > 0
let oldname = abspath.'/'.matches[0]
let newname = abspath.'/'.strftime("%Y%m%d%H%M%S").matches[2]
call rename(oldname, newname)
execute ":saveas! ".newname
else
execute ":saveas " .abspath. "/" .strftime("%Y%m%d%H%M%S"). "_" .filename
endif
endfunction
function! Blog_NewArticle()
if expand("%:p:h") =~ 'blog\.nkoehring\.de/src/pages/articles'
source /home/psy/.vim/headers/article.haml
endif
endfunction
autocmd BufWritePre *.haml call Blog_RenameArticle()
autocmd BufNewFile *.haml call Blog_NewArticle()
" -[ Mappings ]-"
" taglist
nnoremap <silent> <F8> :TlistToggle<CR>
inoremap <silent> <F8> <esc>:TlistToggle<CR>a
nnoremap <silent> <F9> :TlistUpdate<CR>
inoremap <silent> <F9> <esc>:TlistUpdate<CR>a
inoremap # X<BS>#
" map w!! to write as root
cmap w!! w !sudo tee % >/dev/null
" -[ Plugins and Scripts ]-
" taglist
let Tlist_Use_Right_Window = 1
let Tlist_Compart_Format = 1
let Tlist_Show_Menu = 1
let Tlist_Exit_OnlyWindow = 1