" Ma conf vim - Frank "execute pathogen#infect() syntax on color desert hi clear SpellBad hi SpellBad cterm=underline,bold ctermfg=lightblue set spell set spelllang=en,fr set viminfo+=n~/Private/.viminfo set directory=~/Private/.vim/ "set nocompatible "fuck you !. impossible de backspace, sinon set backspace=indent,eol,start "set ruler set number set ts=8 "Un tab, huit espaces set noexpandtab "On veut pas remplacer tab -> espace set wrap "Une grande ligne continue à la ligne "set mouse=a set hlsearch "On souligne les mots cherchés set incsearch "recherche peu à peu set ignorecase set foldmethod=marker set cul "souligner la ligne actuelle set cursorline hi CursorLine term=bold cterm=bold "ctermbg=lightblack set showcmd "on affiche la commande qu'on écrit set laststatus=2 set statusline= set statusline +=%5*%{&ff}%* "file format set statusline +=%3*%y%* "file type set statusline +=%4*\ %<%F%* "full path set statusline +=%2*%m%* "modified flag set statusline +=%1*%=%5l%* "current line set statusline +=%2*/%L%* "total lines set statusline +=%1*%4v\ %* "virtual column number set statusline +=%2*0x%04B\ %* "character under cursor hi User1 guifg=#eea040 guibg=#222222 hi User2 guifg=#dd3333 guibg=#222222 hi User3 guifg=#ff66ff guibg=#222222 hi User4 guifg=#a0ee40 guibg=#222222 hi User5 guifg=#eeee40 guibg=#222222 filetype plugin on filetype indent on noremap imap kj imap jk noremap j gj noremap k gk cmap Q q command W w map w map W nnoremap n nzz set list set listchars=tab:\|\-"Cool for ifs/whiles "set listchars=tab:\|\ "Cool for ifs/whiles set listchars+=trail:· "For eol with spaces "set listchars+=eol:↲ "To show eol;not very useful with trail, but cool anyway :p set listchars+=nbsp:⍽ "For unbreakeable spaces highlight NonText ctermfg=8 guifg=lightblue "EOL highlight SpecialKey ctermfg=lightblue set history=500 set undolevels=500 set title "titre du terminal set autoindent set smartindent set copyindent set preserveindent set autoread "lit les modifs externes "highlight identical words autocmd CursorMoved * \ exe printf('match IncSearch /\V\<%s\>/', escape(expand(''), '/\')) " lines longer than 80 chars {{{ set cc=80 hi ColorColumn ctermbg=lightblue guibg=lightgrey " }}} "MAKEFILES map :make map :vsplit %:r.h map :split %:r.h "TIPS : :copen :cclose :cw " Save on Ctrl-S {{{ " If the current buffer has never been saved, it will have no name, " call the file browser to save it, otherwise just save it. command -nargs=0 -bar Update if &modified \| if empty(bufname('%')) \| browse confirm write \| else \| confirm write \| endif \|endif nnoremap :Update "}}} "SKELETONS {{{ " When editing a new file, load skeleton if any. " If we find <+FILENAME+> in skeleton, replace it by the filename. " If we find <+HEADERNAME+> in skeleton, replace it by the filename " uppercase with . replaced by _ (foo.h become FOO_H). autocmd BufNewFile * \ let skel = $HOME . "/.vim/skeletons/skel." . expand("%:e") | \ if filereadable(skel) | \ execute "silent! 0read " . skel | \ let fn = expand("%") | \ let hn = substitute(expand("%"), "\\w", "\\u\\0", "g") | \ let hn = substitute(hn, "\\.", "_", "g") | \ let hn = substitute(hn, "/", "_", "g") | \ let mfn = substitute(fn, ".m", "", "") | \ let cn = expand("%:t:r") | \ %s/<+FILENAME+>/\=fn/Ige | \ %s/<+HEADERNAME+>/\=hn/Ige | \ %s/<+CLASSNAME+>/\=cn/Ige | \ %s/<+MFNAME+>/\=mfn/Ige | \ unlet fn hn cn | \ endif | \ unlet skel | \ goto 1 " skeleton template use <+KEY+> nnoremap ` /<+.\{-1,}+>c/+>/e inoremap ` /<+.\{-1,}+>c/+>/e " }}} "Automatic line wrap/br (quotation=74) when writing mails in mutt "CF. limit of 74 for when ">>>" ;) au BufRead /dev/shm/mutt-* set tw=74 fo+=aw noautoindent autocmd BufRead,BufNewFile *.tex set tw=80 fo+=aw autocmd BufRead,BufNewFile *.markdown set tw=80 fo+=aw autocmd BufRead,BufNewFile *.latex set tw=80 fo+=aw autocmd BufRead,BufNewFile *.lista set filetype=lisp autocmd BufRead,BufNewFile *.xml set ts=4 sw=4 "autocmd BufRead,BufNewFile *.m set nospell "Automatic documentation autocmd BufNewFile,BufRead *.py set keywordprg=pydoc autocmd BufNewFile,BufRead *.php set ts=4 sw=4 keywordprg=~/.vim/scripts/doc.php.sh autocmd BufNewFile,BufRead *.R set ts=4 sw=4 keywordprg=~/.vim/scripts/doc.R.sh autocmd BufNewFile,BufRead *.m set ts=4 sw=4 keywordprg=~/.vim/scripts/doc.octave.sh "Merci Nemolivier ;) vmap ,w :!firefox "http://fr.wikipedia.org/wiki/" >& /dev/null vmap ,W :!firefox "http://en.wikipedia.org/wiki/" >& /dev/null vmap ,c :!firefox "http://www.leconjugueur.com/php5/index.php?v=" >& /dev/null "JAVA iabbr syso System.out.println if bufwinnr(1) map + > map - < endif "vimdiff set diffopt+=iwhite "On dvorak, I have to relearn vim again: noremap "" noremap! noremap "" noremap! noremap "" noremap! noremap "" noremap!