vim: restructuring vimrc
[shutils.git] / dotfiles / vim / .vimrc
index 10dd903ac3aaf3cb1c7d20fa2bab2386ddae0ee0..edee0137ebe7313b8edba881630119e341b4b6e4 100644 (file)
@@ -8,48 +8,53 @@
 "option and setting.
 
 
-" Pathogen runtime path manipulation
-"call pathogen#infect() "Using the infect method breaks ft detection
-call pathogen#runtime_append_all_bundles()
-
-
-"Activate syntax highlighting
-syntax on
-"Activate filetype plugins: syntax highlighting, indentation, and more
-filetype plugin indent on
-
+set nocompatible
+set encoding=utf8
 set modeline
 set number
 set backspace=indent,eol,start
 
-"vim-7 and newer has vimspell (spell checker) built in
-if version >= 703
-       set spelllang=de_at,en
-       set tabpagemax=20
-       set colorcolumn=80,+1
-endif
-
-"Set some properties for ctags, grep and the size of the
-"most-left column for foldings
 set tagstack
 set grepprg=grep\ -nH\ $*
 set foldcolumn=1
 
-"Set incremental search and highlighted search results
 set incsearch
 set hlsearch
 
+set cursorline
+set laststatus=2
+
+set listchars=tab:»­,trail:·,eol:$
+
+set autoindent
+set tabstop=4
+set shiftwidth=4
+
+if version >= 703
+       set spelllang=de_at,en
+       set tabpagemax=20
+       set colorcolumn=+1
+endif
+
+" Pathogen runtime path manipulation
+"call pathogen#infect() "Using the infect method breaks ft detection
+filetype off
+call pathogen#runtime_append_all_bundles()
+call pathogen#helptags()
+
+syntax on
+filetype plugin indent on
+
 
 "Power saving tip: powertop-homepage
 let &guicursor = &guicursor . ",a:blinkon0"
 "According to vim help -- enable mouse in xterm...
 set mouse=a
 
-
-"Open current file with a specific program
-function OpenIn(prog)
-       execute ":!" . a:prog . " % &"
-endfunction
+" Use 256 colors
+set t_Co=256
+let g:CSApprox_attr_map = { 'bold' : 'bold', 'italic' : '', 'sp' : '' }
+colorscheme shuber-wombat
 
 
 " Use the below highlight group when displaying bad whitespace is desired.
@@ -57,41 +62,44 @@ highlight BadWhitespace ctermbg=red guibg=red
 " Make trailing whitespace be flagged as bad.
 au Filetype python,tex,c,cpp,cs,objc,java syn match BadWhitespace /\s\+$/ containedin=ALL
 
-set listchars=tab:»­,trail:·,eol:$
 
+if exists(":DetectIndent")
+       au BufReadPost * :DetectIndent
+endif
 
-set autoindent
-set tabstop=4
-au Filetype python,tex,c,cpp,cs,objc,java :DetectIndent
-"let g:detectindent_preferred_expandtab = 1
-"let g:detectindent_preferred_indent = 4
 
+let g:syntastic_mode_map = { 'mode' : 'active', 'active_filetypes' : [], 'passive_filetypes' : ['html'] }
 
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  fortran
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
-"let fortran_free_source=1
-au BufNewFile *.f90            set fortran_free_source=1
-au BufRead,BufNewFile *.INC    set filetype=fortran
-au Filetype fortran            set cindent cst csto=0
 
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  Some macros
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
+"Open current file with a specific program
+function OpenIn(prog)
+       execute ":!" . a:prog . " % &"
+endfunction
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  IRSSI logs
+"  key bindings
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-au BufRead,BufNewFile */.irssi/logs/*.log    set filetype=irssilog
+map <a-c> <plug>NERDCommenterToggle
+
+nmap <c-q> :q<CR>
+nmap <c-s> :w<CR>
+vmap <c-s> <Esc><c-s>gv
+imap <c-s> <c-o><c-s>
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  Easychair conference system review form
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  fortran
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-au BufRead,BufNewFile review_form_*.txt set filetype=easychair
-au Syntax easychair runtime! syntax/easychair.vim
+"let fortran_free_source=1
+au BufNewFile *.f90            set fortran_free_source=1
+au Filetype fortran            set cindent cst csto=0
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -106,7 +114,6 @@ au Filetype c,cpp,cs,objc,java set cindent cst csto=0
 au Filetype c,cpp,cs,objc map <F7> :make <CR>
 au Filetype java map <F7> :!ant -f ../build.xml <CR>
 au Filetype c,cpp,cs,obj set makeprg=make
-au Filetype c,cpp,cs,obj set shiftwidth=4
 
 
 "Adds STL prefix 'std::' to 'id'
@@ -118,7 +125,6 @@ function AddNamespaceDeclTo(ns, id)
        execute ":%s!^\\(\\s*[^#/].*[^:]\\)\\<" . a:id . "\\>!\\1" . a:ns . "::" . a:id . "!ge"
 endfunction
 
-
 "Adds STL prefix 'std::' to several identifiers
 function AddSTLNamespaceDecl()
        call AddNamespaceDeclTo("std","cin")
@@ -145,7 +151,6 @@ function AddSTLNamespaceDecl()
        call AddNamespaceDeclTo("std","vector")
 endfunction
 
-
 function EscapeHexToChar()
        echo 'Call "x/Nxb addr" in GDB to print N bytes at addr' 
        execute '%s/^.*://'
@@ -162,6 +167,7 @@ endfunction
 au Filetype text set textwidth=80
 "According to thunderbirds settings
 au Filetype mail set textwidth=72
+au Filetype mail set expandtab
 
 "a and w reformat the paragraph automatically and a new paragraph
 "is indicated by lines not ending with white-space
@@ -169,6 +175,9 @@ if version>=700
        au Filetype mail,text set fo+=n spell
 endif
 
+"Scissor line
+au Filetype mail syn match Statement /^\s*-*\s*>8\s*-*\s*$/
+au Filetype mail syn match Statement /^\s*-*\s*8<\s*-*\s*$/
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -184,8 +193,6 @@ au Filetype php set textwidth=80
 "au Filetype php set cindent
 
 
-
-
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  LaTeX
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -205,43 +212,29 @@ function TexTransUmlaute()
        execute ':%s/²/\^2/&'
 endfunction
 
-
 function FindWordRepeatings()
        execute '/\(\<\S\+\>\)\s\+\1\>'
 "        let pos = search('\(\<\S\+\>\)\s\+\1\>', "cw")
 "        call cursor(pos)
 endfunction
 
-
 let g:tex_flavor = "latex"
 let g:LatexBox_viewer="okular"
 let g:LatexBox_latexmk_options="-pvc"
 
 au Filetype tex set smartindent
 
-au Filetype tex set shiftwidth=4
-
-au Filetype tex map! ,b \begin{}<Esc>i
-au Filetype tex map! ,e <esc>:call TexClosePrev(0)<cr>a<cr>
-au Filetype tex map! ,i \begin{itemize}<Return>\end{itemize}<ESC>O\item 
-au Filetype tex map! ,f \begin{frame}<Return>\end{frame}<ESC>O\frametitle{
-au Filetype tex map! ,p \begin{figure}<Return>\end{figure}<ESC>O\centering<Return>\includegraphics{
-
-
-
 if version >= 700
        au Filetype tex set spell
 endif
 
 
-
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  python
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
 au Filetype python map <F5> :!python % <CR>
 
-
 " vimrc file for following the coding standards specified in PEP 7 & 8.
 
 " Number of spaces that a pre-existing tab is equal to.
@@ -250,9 +243,7 @@ au Filetype python set shiftwidth=4
 au Filetype python set expandtab
 
 " Wrap text after a certain number of characters
-au BufRead,BufNewFile *.py,*.pyw set textwidth=79
-
-
+au Filetype python set textwidth=79
 
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -267,45 +258,21 @@ au Filetype xml map <M-o> :call OpenIn("ipe") <CR>
 "  gnuplot
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-
-au BufRead,BufNewFile *.plt              set filetype=gnuplot
-au BufRead,BufNewFile *.plot      set filetype=gnuplot
-au BufRead,BufNewFile *.gnuplot   set filetype=gnuplot
-
 "Opens the current file in ipe
 au Filetype gnuplot map <M-o> :call OpenIn("gnuplot -persist") <CR>
 
 
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  Commenting
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
-let g:EnhCommentifyUseAltKeys = 'Yes'
-
-
-
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-"  Tab completion
+"  youcompleteme
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-"function InsertTabWrapper()
-"    let col = col('.') - 1
-"    if !col || getline('.')[col - 1] !~ '\k'
-"        return "\<tab>"
-"    else
-"        return "\<c-p>"
-"    endif
-"endfunction
+let g:ycm_min_num_of_chars_for_completion = 999
+let g:ycm_key_list_select_completion = ['<Down>']
 
-" Remap the tab key to select action with InsertTabWrapper
-"inoremap <C-space> <c-r>=InsertTabWrapper()<cr>
 
-let g:SuperTabMappingForward = "<C-space>"
-let g:SuperTabDefaultCompletionType = 'context'
-"let g:SuperTabDefaultCompletionType = '<c-x><c-u>'
 
-
-source ~/.vimrc-local
+if filereadable($HOME . "/.vimrc-local")
+       source ~/.vimrc-local
+endif