"Vi settings " by Andrew Dawes based on design by Albert Schueller: 9/05/03 filetype on filetype plugin on set autoindent set bs=2 set background=dark "set columns=80 set clipboard=autoselect set hidden set keywordprg=ispell set mouse=n set nobackup set notitle set ruler set showmode set suffixes=.aux,.log,.dvi,.ps,.pdf,.bak,~,.o,.h,.info,.swp "set textwidth=75 set vb t_vb= set wm=0 set nocompatible set incsearch set tabstop=2 set softtabstop=2 set shiftwidth=2 set expandtab " Setup color console if has("terminfo") set t_Co=8 set t_Sf=[3%p1%dm set t_Sb=[4%p1%dm else set t_Co=8 set t_Sf=[3%dm set t_Sb=[4%dm endif "Format a paragraph "map , gq} "correct shift mistake map :W :w map :Q :q "---------------------------------------------------------------------------- "Handy Mappings " " Less style page down using the space bar. " map  ino   " Next buffer map ;n :bn "Read mail " map ;m :!m "Switching windows. map ;w  " Put the date at the top of the file map ;d :1 O!!date o " " Don't break words in middle set linebreak " Show incomplete paragraphs even when they don'f fit on screen (avoid @'s) set display+=lastline "Autocommands "Clear out existing autocmds if .vimrc gets sourced twice. autocmd! autocmd FileType text setlocal textwidth=78 "Start syntax highlighting in Vim 5.0 syntax on "Autocommands for Python files. augroup Python au BufNewFile,BufRead,BufEnter *.py set noexpandtab augroup END "Autocommands for LaTeX files. augroup LaTeX " Movement commands au BufNewFile,BufRead,BufEnter *.tex omap o /^%\=$/ au BufNewFile,BufRead,BufEnter *.tex omap O ?^%\=$? au BufNewFile,BufRead,BufEnter *.tex map ;c :!rm -f %<.ps %<.log %<.aux %<.dvi %<.ps %<.pdf "au BufNewFile,BufRead,BufEnter *.tex map , gqo "au BufNewFile,BufRead,BufEnter *.tex map ;p :!dvips %<.dvi au BufNewFile,BufRead,BufEnter *.tex map ;f :!ltpdf % au BufNewFile,BufRead,BufEnter *.tex map ;h :1 O\documentclass[12pt]{amsart} \usepackage{amsmath} \input{mydef} \begin{document} Go \end{document}:6 au BufNewFile,BufRead,BufEnter *.tex map ;l :w :!latex % au BufNewFile,BufRead,BufEnter *.tex map ;m :w :!make au BufNewFile,BufRead,BufEnter *.tex map ;L o75i%A "au BufNewFile,BufRead,BufEnter *.tex map ;, gq/% au BufNewFile,BufRead,BufEnter *.tex map ;x :!xdvi %<.dvi -geometry 702x733+247+3 & au BufNewFile,BufRead,BufEnter *.tex map ;p :!dvips -o %<.ps %<.dvi au BufNewFile,BufRead,BufEnter *.tex map ;g :!gv %<.ps & au BufNewFile,BufRead,BufEnter *.tex vmap ;E v`>a}`a\right)`a}`a\|` au BufNewFile,BufRead,BufEnter *.tex iab EM {\em au BufNewFile,BufRead,BufEnter *.tex iab BF {\bf au BufNewFile,BufRead,BufEnter *.tex iab EX {\bf Example}: au BufNewFile,BufRead,BufEnter *.tex iab ER {\bf Exercise}: au BufNewFile,BufRead,BufEnter *.tex iab BV \begin{verbatim} au BufNewFile,BufRead,BufEnter *.tex iab BE \begin{enumerate} au BufNewFile,BufRead,BufEnter *.tex iab BI \begin{itemize} au BufNewFile,BufRead,BufEnter *.tex iab EE \end{enumerate} au BufNewFile,BufRead,BufEnter *.tex iab EV \end{verbatim} au BufNewFile,BufRead,BufEnter *.tex iab EI \end{itemize} au BufNewFile,BufRead,BufEnter *.tex vmap ;V v`>aEV ` au BufNewFile,BufRead,BufEnter *.tex set shiftwidth=2 au BufNewFile,BufRead,BufEnter *.tex set comments=b:%,:%,:\\\ au BufNewFile,BufRead,BufEnter *.tex set smarttab au BufNewFile,BufRead,BufEnter *.tex set et au BufNewFile,BufRead,BufEnter *.tex set smartindent au BufNewFile,BufRead,BufEnter *.tex set cinwords=\\begin\{enumerate\} au BufNewFile,BufRead,BufEnter *.tex set fo=t au BufEnter *.tex cd %:p:h "map the cursor keys to screen lines: " Up, Down, Home and End keys in normal and insert mode "au BufNewFile,BufRead,BufEnter *.tex map gk "au BufNewFile,BufRead,BufEnter *.tex map k gk "au BufNewFile,BufRead,BufEnter *.tex imap gk "au BufNewFile,BufRead,BufEnter *.tex map gj "au BufNewFile,BufRead,BufEnter *.tex map j gj "au BufNewFile,BufRead,BufEnter *.tex imap gj "au BufNewFile,BufRead,BufEnter *.tex map g "au BufNewFile,BufRead,BufEnter *.tex imap g "au BufNewFile,BufRead,BufEnter *.tex map g "au BufNewFile,BufRead,BufEnter *.tex imap g augroup END "Autocommands for Html Files. augroup HTML au BufNewFile,BufRead,BufEnter *.html,*.content,*.ptml set syntax=html "Timestamp an html file. au BufNewFile,BufRead,BufEnter *.html,*.content map ;t / j!!date ``:w au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;A v`>a`hi au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;H v`>a` au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;B v`>a` au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;C v`>a` au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;E v`>a` au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;P v`>a

` au BufNewFile,BufRead,BufEnter *.html,*.content vmap ;U v`>a` au BufNewFile,BufRead,BufEnter *.html,*.content iab EM au BufNewFile,BufRead,BufEnter *.html,*.content iab EEM au BufNewFile,BufRead,BufEnter *.html,*.content iab BF au BufNewFile,BufRead,BufEnter *.html,*.content iab EBF au BufNewFile,BufRead,BufEnter *.html,*.content iab CE
au BufNewFile,BufRead,BufEnter *.html,*.content iab ECE
au BufNewFile,BufRead,BufEnter *.html,*.content map ;d /!!dateA au BufNewFile,BufRead,BufEnter *.html,*.content set shiftwidth=1 au BufNewFile,BufRead,BufEnter *.html,*.content set smarttab au BufNewFile,BufRead,BufEnter *.html,*.content set et au BufNewFile,BufRead,BufEnter *.html,*.content set smartindent au BufNewFile,BufRead,BufEnter *.html,*.content set cinwords=,
    ,
      ,,

      augroup END augroup Perl au FileType perl set cindent au FileType perl set shiftwidth=1 au FileType perl set smarttab au FileType perl set comments=b:# au BufNewFile,BufRead,BufEnter *.pl map ;x :!%< au BufNewFile,BufRead,BufEnter *.pl set comments=b:# au BufNewFile,BufRead,BufEnter *.pl set shiftwidth=1 au BufNewFile,BufRead,BufEnter *.pl set smarttab au BufNewFile,BufRead,BufEnter *.pl set cindent au BufNewFile,BufRead,BufEnter *.pl vmap ;c :s/^/#/ au BufNewFile,BufRead,BufEnter *.pl vmap ;u :s/^[#]// augroup END augroup C au BufNewFile,BufRead,BufEnter *.h,*.c set shiftwidth=2 au BufNewFile,BufRead,BufEnter *.h,*.c set smarttab au BufNewFile,BufRead,BufEnter *.h,*.c set cindent augroup END augroup C++ au BufEnter *.h,*.template,*.cpp,*.cc cd %:p:h au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc set shiftwidth=2 au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc set smarttab au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc set cindent au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;g :w:!g++ % au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;r :!a.out au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;l o75i/o au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;m :make au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;d /Last Changed:!!dateI//Last Changed: au BufNewFile,BufRead,BufEnter *.h,*.template,*.cpp,*.cc map ;h :1O//File Name://Author: Andrew M C Dawes//Email Address: dawes@phy.duke.edu//Description://Last Changed:#include int main() {return 0;}:1 augroup END augroup Mutt au BufNewFile,BufRead .followup,.letter,mutt*,nn.*,snd.* set tw=72 "au BufNewFile,BufRead .followup,.letter,mutt*,nn.*,snd.* set fo+=a augroup END augroup Makefile au BufNewFile,BufRead,BufEnter Makefile,makefile set shiftwidth=8 au BufNewFile,BufRead,BufEnter Makefile,makefile set nosmarttab augroup END "Autocommands for gnuplot files. augroup gnuplot au BufNewFile,BufRead,BufEnter *.plot map ;p :!gnuplot %<.plot au BufNewFile,BufRead,BufEnter *.plot map ;g :!gv %<.ps & augroup END "Autocommands for fortran 90 files. augroup Fortran90 au BufNewFile,BufRead,BufEnter *.f90 set softtabstop=2 au BufNewFile,BufRead,BufEnter *.f90 set expandtab augroup END