" Thomas R. N. Jansson 2006 " Turns on syntax highlighting syntax on " Set the syntax color scheme colors elflord " Optimize the colors to a dark background set background=dark " Use all the bells and whistles of Vim compared to vi set nocompatible " Highlight searches set hlsearch "While typing a search command, show where the pattern, as it was typed so far, "matches. set incsearch " If a search only contains small chars it Vim ignores cases and if the search " contains large chars Vim will search for the case-sensitive string set smartcase " When a bracket is inserted, briefly jump to the matching one. set showmatch " Wrap lines when they reach 79 characters "set textwidth=79 set textwidth=0 set nowrap " Make backups in to the following folders set backupdir=./.backup,.,/tmp set directory=.,./.backup,/tmp " Show the line and column number of the cursor position set ruler "Set terminal title to Vim + filename set title " Show (partial) command in the last line of the screen. set showcmd " Set history to 1000 lines set history=1000 " Set undolevels to 1000 lines set undolevels=1000 " No annoying blinking or noise "set vb t_vb= set novisualbell set noerrorbells " Indicates a fast terminal connection. set ttyfast " show some autocomplete options in status bar set wildmenu ""sets the printing device to cp01 "set pdev=cp01 " Printing options such syntax and paper size set printoptions=paper:A4,syntax:y " spaces instead of tabs set expandtab " Tabs are 2 characters set tabstop=4 " vim see 4 spaces as a tabstops and helps deleting them fast. set softtabstop=4 " guess indentation based on previous lines set autoindent " autoindent uses 2 characters set shiftwidth=4 " smartindent tried to indent based on filetype set smartindent " Expand the command line using tab set wildchar= "#When on, a in front of a line inserts blanks according to "'shiftwidth'. 'tabstop' or 'softtabstop' is used in other places. A " will delete a 'shiftwidth' worth of space at the start of the "line. set smarttab " Allows backspace over anything in insert mode set backspace=indent,eol,start " allows the cursor to move freely set virtualedit=all """"""""""""""" "" Shortcuts """""""""""""" " Remember that ZZ will save and quit " Correct typos command! Q quit command! W write command! Wq wq " If, for instance, you want your text to be nicely formatted in paragraphs " with no more than 78 characters on each line, then you could simply use it " as: " set formatprg=par\ -w78 " The formatprg option in Vim tells it which program to use for formatting of " the text when one of the gq commands is used. Notice that the space between " the program name and its option is escaped with a backslash. map {!}par nmap 1G=G " Remap ctrl-] to Enter and ctrl-T to esc to make help sane. :au filetype help :nnoremap :au filetype help :nnoremap " Move freely in wrapped lines "imap gj "imap gk "nmap gj "nmap gk """""""""""""""""" "" Filetypes """""""""""""""""" " allow filebased indentation filetype indent on " i.e. opens the latex-suite when a .tex file is opened. filetype plugin on " makes vim capable of guessing based on the filetype filetype on " http://wiki.python.org/moin/ViImproved autocmd BufRead,BufNewFile *.py syntax on autocmd BufRead,BufNewFile *.py set ai autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class " Treat all files ending on .USER.INPUT as tcl scripts au BufNewFile,BufRead *.USER.INPUT set filetype=tcl """"""""""""""" "" Spellchecking """""""""""""" if v:version > 700 "Sets in-line spellchecking set spell " Set local language setlocal spell spelllang=en_us "setlocal spell spelllang=da endif """""""""""""""""""""""""""""""""""""""""""""""""" " Tell vim to remember certain things when we exit " http://vim.wikia.com/wiki/VimTip80 """""""""""""""""""""""""""""""""""""""""""""""""" " '10 : marks will be remembered for up to 10 previously edited files " "100 : will save up to 100 lines for each register " :20 : up to 20 lines of command-line history will be remembered " % : saves and restores the buffer list " n... : where to save the viminfo files set viminfo='10,\"100,:20,%,n~/.viminfo " when we reload, tell vim to restore the cursor to the saved position augroup JumpCursorOnEdit au! autocmd BufReadPost * \ if expand(":p:h") !=? $TEMP | \ if line("'\"") > 1 && line("'\"") <= line("$") | \ let JumpCursorOnEdit_foo = line("'\"") | \ let b:doopenfold = 1 | \ if (foldlevel(JumpCursorOnEdit_foo) > foldlevel(JumpCursorOnEdit_foo - 1)) | \ let JumpCursorOnEdit_foo = JumpCursorOnEdit_foo - 1 | \ let b:doopenfold = 2 | \ endif | \ exe JumpCursorOnEdit_foo | \ endif | \ endif " Need to postpone using "zv" until after reading the modelines. autocmd BufWinEnter * \ if exists("b:doopenfold") | \ exe "normal zv" | \ if(b:doopenfold > 1) | \ exe "+".1 | \ endif | \ unlet b:doopenfold | \ endif """""""""""""""""" "" Latex-suite """""""""""""""""" " These settings are needed for latex-suite "filetype indent on "filetype plugin on "filetype on let g:tex_flavor='latex' set grepprg=grep\ -nH\ $* let g:Tex_Folding=0 set iskeyword+=: "vim-addons install latex-suite "usr/share/vim/vim71/debian.vim needs to be hacked so that "/var/share/vim/addons and not /var/lib/vim/addons