From: Stefan Huber Date: Wed, 21 Nov 2012 08:54:10 +0000 (+0100) Subject: Add vim configs X-Git-Url: https://git.sthu.org/?p=shutils.git;a=commitdiff_plain;h=f906e34ad7c7b46337173224c5b98c106eaa5ab3 Add vim configs --- diff --git a/dotfiles/vim/gvimrc b/dotfiles/vim/gvimrc new file mode 100644 index 0000000..60c1cdd --- /dev/null +++ b/dotfiles/vim/gvimrc @@ -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) +:menu Presentation.Off :call SetPresentationFont(0) + diff --git a/dotfiles/vim/syntax/easychair.vim b/dotfiles/vim/syntax/easychair.vim new file mode 100644 index 0000000..e9e9f73 --- /dev/null +++ b/dotfiles/vim/syntax/easychair.vim @@ -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 index 0000000..7d38892 --- /dev/null +++ b/dotfiles/vim/syntax/irssilog.vim @@ -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 index 0000000..54f8399 --- /dev/null +++ b/dotfiles/vim/vimrc @@ -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 :cnext +au Filetype c,cpp,cs,objc,java map :cprevious +au Filetype c,cpp,cs,objc,java map :AS +au Filetype c,cpp,cs,objc,java map :A +au Filetype c,cpp,cs,objc,java set cindent cst csto=0 +au Filetype c,cpp,cs,objc map :make +au Filetype java map :!ant -f ../build.xml +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{}i +au Filetype tex map! ,e :call TexClosePrev(0)a +au Filetype tex map! ,i \begin{itemize}\end{itemize}O\item +au Filetype tex map! ,f \begin{frame}\end{frame}O\frametitle{ +au Filetype tex map! ,p \begin{figure}\end{figure}O\centering\includegraphics{ + + + +if version >= 700 + au Filetype tex set spell +endif + + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" python +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +au Filetype python map :!python % + + +" 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 :call OpenIn("ipe") + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" 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 :call OpenIn("gnuplot -persist") + + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Commenting +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let g:EnhCommentifyUseAltKeys = 'Yes' + + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Tab completion +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +"function InsertTabWrapper() +" let col = col('.') - 1 +" if !col || getline('.')[col - 1] !~ '\k' +" return "\" +" else +" return "\" +" endif +"endfunction + +" Remap the tab key to select action with InsertTabWrapper +"inoremap =InsertTabWrapper() + +let g:SuperTabMappingForward = "" +let g:SuperTabDefaultCompletionType = 'context' +"let g:SuperTabDefaultCompletionType = '' + + +source ~/.vimrc-local + +