Add vim configs
authorStefan Huber <shuber2@gmx.at>
Wed, 21 Nov 2012 08:54:10 +0000 (09:54 +0100)
committerStefan Huber <shuber2@gmx.at>
Wed, 21 Nov 2012 08:54:10 +0000 (09:54 +0100)
dotfiles/vim/gvimrc [new file with mode: 0644]
dotfiles/vim/syntax/easychair.vim [new file with mode: 0644]
dotfiles/vim/syntax/irssilog.vim [new file with mode: 0644]
dotfiles/vim/vimrc [new file with mode: 0644]

diff --git a/dotfiles/vim/gvimrc b/dotfiles/vim/gvimrc
new file mode 100644 (file)
index 0000000..60c1cdd
--- /dev/null
@@ -0,0 +1,33 @@
+
+
+" {{{ vimrc.local
+if filereadable("/etc/vim/gvimrc")
+  source /etc/vim/gvimrc
+endif
+" }}}
+
+
+set lines=25
+set columns=85
+
+set cursorline
+"set mousehide
+set nomousehide
+
+colorscheme sienna_shuber
+Colo light
+"Colo dark
+
+
+
+function SetPresentationFont(mode)
+       if a:mode
+               set guifont=Monospace\ Bold\ 12
+       else
+               set guifont=Monospace\ 10
+       endif
+endfunction
+
+:menu Presentation.On  :call SetPresentationFont(1)<CR>
+:menu Presentation.Off :call SetPresentationFont(0)<CR>
+
diff --git a/dotfiles/vim/syntax/easychair.vim b/dotfiles/vim/syntax/easychair.vim
new file mode 100644 (file)
index 0000000..e9e9f73
--- /dev/null
@@ -0,0 +1,27 @@
+" Vim syntax file
+" Language:         Easychair conference system review form
+" Maintainer:       Stefan Huber
+"
+"
+" Changelog:
+"   2010-12-12: Initial version
+
+
+
+" Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+
+
+syn region ascComment start="---" end="$"
+syn region ascSystem start="\*\*\*" end="$"
+
+
+hi def link ascComment Comment
+hi def link ascSystem Identifier
+
+
diff --git a/dotfiles/vim/syntax/irssilog.vim b/dotfiles/vim/syntax/irssilog.vim
new file mode 100644 (file)
index 0000000..7d38892
--- /dev/null
@@ -0,0 +1,7 @@
+syn spell notoplevel
+syn match Constant "^\(\d\+-\d\+-\d\+\s\+\)\?\d\{2}:\d\{2}\(:\d\{2}\)\?"
+syn match Type "  \* [-a-zA-Z0-9_|]*"
+syn match Label "<[ @~&+][-a-zA-Z0-9_|]*>"
+syn region Title start="^---" end="$"
+syn region Identifier start="-!-" end="$"
+syn region Comment start=":::" end="$"
diff --git a/dotfiles/vim/vimrc b/dotfiles/vim/vimrc
new file mode 100644 (file)
index 0000000..54f8399
--- /dev/null
@@ -0,0 +1,314 @@
+" Purpose:      My personal .vimrc
+" Author:       Stefan Huber
+"
+"Essential resources for vim users
+"  - vim.sf.net -- find tips and scripts for vim and gvim
+"
+"By calling ":help keyword" you get help for the specific
+"option and setting.
+
+
+
+"Activate filetype plugins: syntax highlighting, indentation, and more
+filetype plugin on
+filetype indent on
+filetype on
+
+set modeline
+
+set autoindent
+"set tabstop=4
+set number
+set bs=2
+
+"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
+
+
+"Activate syntax highlighting
+syntax 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 the below highlight group when displaying bad whitespace is desired.
+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 list to activate 
+set listchars=tab:»­,trail:·,eol:$
+
+
+" Pathogen runtime path manipulation
+call pathogen#infect()
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  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
+
+
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  IRSSI logs
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile */.irssi/logs/*.log    set filetype=irssilog
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  Easychair conference system review form
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile review_form_*.txt set filetype=easychair
+au Syntax easychair runtime! syntax/easychair.vim
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  C, C++, C#, objc, java
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au Filetype c,cpp,cs,objc,java map <F4> :cnext <CR>
+au Filetype c,cpp,cs,objc,java map <S-F4> :cprevious <CR>
+au Filetype c,cpp,cs,objc,java map <F11> :AS <CR>
+au Filetype c,cpp,cs,objc,java map <S-F11> :A <CR>
+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 tabstop=4
+au Filetype c,cpp,cs,obj set shiftwidth=4
+
+
+"Adds STL prefix 'std::' to 'id'
+function AddNamespaceDeclTo(ns, id)
+       echo "Add '" . a:ns . "' to " . a:id
+       "Line starts with a:id
+       execute ":%s!^\\(\\s*\\)" . a:id . "\\>!\\1" . a:ns . "::" . a:id . "!e"
+       "Line beginning, white space, not # or / (preprocessor or comment)
+       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")
+       call AddNamespaceDeclTo("std","cout")
+       call AddNamespaceDeclTo("std","cerr")
+
+       call AddNamespaceDeclTo("std","swap")
+       call AddNamespaceDeclTo("std","sort")
+       call AddNamespaceDeclTo("std","max")
+       call AddNamespaceDeclTo("std","min")
+
+       call AddNamespaceDeclTo("std","deque")
+       call AddNamespaceDeclTo("std","endl")
+       call AddNamespaceDeclTo("std","list")
+       call AddNamespaceDeclTo("std","map")
+       call AddNamespaceDeclTo("std","multimap")
+       call AddNamespaceDeclTo("std","ostream")
+       call AddNamespaceDeclTo("std","pair")
+       call AddNamespaceDeclTo("std","priority_queue")
+       call AddNamespaceDeclTo("std","set")
+       call AddNamespaceDeclTo("std","queue")
+       call AddNamespaceDeclTo("std","stack")
+       call AddNamespaceDeclTo("std","string")
+       call AddNamespaceDeclTo("std","vector")
+endfunction
+
+
+function EscapeHexToChar()
+       echo 'Call "x/Nxb addr" in GDB to print N bytes at addr' 
+       execute '%s/^.*://'
+       execute '%s/\s*0x\(\x\x\)/\\x\1/g'
+       execute '%s/^\(.*\)$/"\1"/'
+endfunction
+
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  Text and mail
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au Filetype text set textwidth=80
+"According to thunderbirds settings
+au Filetype mail set textwidth=72
+
+"a and w reformat the paragraph automatically and a new paragraph
+"is indicated by lines not ending with white-space
+if version>=700
+       au Filetype mail,text set fo+=n spell
+endif
+
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  PHP
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+"au Filetype php set fo=tcqn
+if version >= 700
+       au Filetype php set spell
+endif
+
+au Filetype php set textwidth=80
+"au Filetype php set cindent
+
+
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  LaTeX
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+au BufRead,BufNewFile *.cls set filetype=tex
+au Filetype tex set textwidth=80
+
+"Remove Umlaute
+function TexTransUmlaute()
+       execute ':%s/ü/\\\"u/ge'
+       execute ':%s/Ü/\\\"U/&'
+       execute ':%s/ö/\\\"o/&'
+       execute ':%s/Ö/\\\"O/&'
+       execute ':%s/ä/\\\"a/&'
+       execute ':%s/Ä/\\\"A/&'
+       execute ':%s/ß/\\\"s/&'
+       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 tabstop=4
+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.
+" For the amount of space used for a new tab use shiftwidth.
+au Filetype python set tabstop=4
+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
+
+
+
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  XML, Ipe
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+"Opens the current file in ipe
+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
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+"function InsertTabWrapper()
+"    let col = col('.') - 1
+"    if !col || getline('.')[col - 1] !~ '\k'
+"        return "\<tab>"
+"    else
+"        return "\<c-p>"
+"    endif
+"endfunction
+
+" 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
+
+