" Setting editor defaults set nu syntax on set bg=dark set diffopt=filler,iwhite " keep files synced and ignore whitespace set expandtab " Get rid of tabs altogether and replace with spaces "set guioptions-=m " Remove menu from the gui set guioptions-=T " Remove toolbar set hidden " hide buffers instead of closing set history=50 " keep 50 lines of command line history set ignorecase " Do case insensitive matching set smartcase " Ignore case only when doing a lowercase search set incsearch " Incremental search set linebreak " This displays long lines as wrapped at word boundries set matchtime=10 " Time to flash the brack with showmatch set nobackup " Don't keep a backup file set nocompatible " Use Vim defaults (much better!) set hlsearch " Use highlighted search (I am blind) set t_Co=256 " Set terminal to use 256 colors set backspace=indent,eol,start set clipboard=unnamed " Use system clipboard for all cut/copy operations set ruler set foldmethod=indent set nofen set mouse=a set spell spelllang=en set wildmode=list:longest,full set nomousehide set sessionoptions+=resize,winpos set listchars=tab:>-,trail:. set list set colorcolumn=100 " Status Line Settings set laststatus=2 " always have status bar set statusline= set statusline+=%n\ set statusline+=%<%f\ %h%m%r set statusline+=%= set statusline+=%-14.(%l,%c%V%)\ %P " filetypes filetype plugin on filetype indent on filetype on "Set colorscheme. colorscheme slate " Turn off highlighting after search map ,, :nohl " Remove all trailing whitespaces map s :%s/\s\+$//g " toggle line number with F11 or Ctrl-L map : set number! map : set number! " Move between split windows map O5B j map O5A k map O5D h map O5C l imap O5B j imap O5A k imap O5D h imap O5C l "Set tab to 4 spaces set shiftwidth=4 set softtabstop=4 set tabstop=4 set smarttab " Paste from GUI into vim and not lose indendation " F7 to toggle paste mode map :set invpaste set pastetoggle= "normal mode maps " Switch to/from header file map :e %:p:s,.h$,.X123X,:s,.cpp$,.h,:s,.X123X$,.cpp, "Map \e to edit a file from the directory of the current buffer if has("unix") nmap e :e =expand("%:p:h") . "/" else nmap ,e :e =expand("%:p:h") . "\\" endif cabbr %% expand('%:p:h') "When editing a file, make screen display the name of the file you are editing function! SetTitle() if $TERM =~ "^screen" let l:title = 'vi: ' . expand('%:t') if (l:title != 'vi: __Tag_List__') let l:truncTitle = strpart(l:title, 0, 15) silent exe '!echo -e -n "\033k' . l:truncTitle . '\033\\"' endif endif endfunction " Run it every time we change buffers autocmd BufEnter,BufFilePost * call SetTitle() perl < → " Quicker compile & check map :silent make:copen:redraw " Load host-specific settings set runtimepath^=~/.host-specific/vim, set runtimepath+=~/.host-specific/vim/after source ~/.host-specific/vimrc