" " MAIN CUSTOMIZATION FILE " " Enable loading filetype and indentation plugins filetype plugin on filetype indent on " Turn syntax highlighting on syntax on syntax sync fromstart " Some PHP settings let php_highlight_all = 1 let php_htmlInStrings = 1 let php_sql_query = 1 " " GLOBAL SETTINGS " " Write contents of the file, if it has been modified, on buffer exit set autowrite " Allow backspacing over everything set backspace=indent,eol,start " Insert mode completion options set completeopt=menu,longest,preview " Use UTF-8 as the default buffer encoding set enc=utf-8 " Remember up to 100 'colon' commmands and search patterns set history=100 " Enable incremental search set incsearch " Always show status line, even for one window set laststatus=2 " Jump to matching bracket for 2/10th of a second (works with showmatch) set matchtime=2 " Don't highlight results of a search set nohlsearch " Enable CTRL-A/CTRL-X to work on octal and hex numbers, as well as characters set nrformats=octal,hex,alpha " Use F10 to toggle 'paste' mode set pastetoggle= " Show line, column number, and relative position within a file in the status line set ruler " Scroll when cursor gets within 3 characters of top/bottom edge set scrolloff=3 " Round indent to multiple of 'shiftwidth' for > and < commands set shiftround " Use 4 spaces for (auto)indent set shiftwidth=4 " Show (partial) commands (or size of selection in Visual mode) in the status line set showcmd " When a bracket is inserted, briefly jump to a matching one set showmatch " Don't request terminal version string (for xterm) set t_RV= " Use 4 spaces for and :retab set tabstop=4 " Write swap file to disk after every 50 characters set updatecount=50 " Remember things between sessions " " '20 - remember marks for 20 previous files " \"50 - save 50 lines for each register " :20 - remember 20 items in command-line history " % - remember the buffer list (if vim started without a file arg) " n - set name of viminfo file set viminfo='20,\"50,:20,%,n~/.viminfo " Use menu to show command-line completion (in 'full' case) set wildmenu " Set command-line completion mode: " - on first , when more than one match, list all matches and complete " the longest common string " - on second , complete the next full match and show menu set wildmode=list:longest,full " Go back to the position the cursor was on the last time this file was edited au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")|execute("normal `\"")|endif " Fix my key (in Mac OS X Terminal) set t_kb= fixdel " Avoid loading MatchParen plugin let loaded_matchparen = 1 " netRW: Open files in a split window let g:netrw_browse_split = 1 " " MAPPINGS " " save changes map ,s :w " exit vim without saving any changes map ,q :q! " exit vim saving changes map ,w :x " switch to upper/lower window quickly map j map k " use CTRL-F for omni completion imap  " map CTRL-L to piece-wise copying of the line above the current one imap @@@hhkywjl?@@@P/@@@3s " map ,f to display all lines with keyword under cursor and ask which one to " jump to nmap ,f [I:let nr = input("Which one: ")exe "normal " . nr ."[\t" " use to toggle line numbers nmap :set number! " page down with nmap " open filename under cursor in a new window (use current file's working " directory) nmap gf :new %:p:h/ " map and to paste below/above and reformat nnoremap P P'[v']= nnoremap p p'[v']= " visual shifting (does not exit Visual mode) vnoremap < >gv " Generic highlight changes highlight Comment cterm=none ctermfg=Gray highlight IncSearch cterm=none ctermfg=Black ctermbg=DarkYellow highlight Search cterm=none ctermfg=Black ctermbg=DarkYellow highlight String cterm=none ctermfg=DarkGreen highlight treeDir cterm=none ctermfg=Cyan highlight treeUp cterm=none ctermfg=DarkYellow highlight treeCWD cterm=none ctermfg=DarkYellow highlight netrwDir cterm=none ctermfg=Cyan " Set up cscope options if has("cscope") set csprg=/usr/bin/cscope set csto=0 set cst set nocsverb cs add cscope.out set csverb map :cstag =expand("") map g :cs find 3 =expand("") map g :cs find 0 =expand("") endif " " NERDTree configuration " " Increase window size to 35 columns let NERDTreeWinSize=35 " map to toggle NERDTree window nmap :NERDTreeToggle " Mapping supertab help map S :SuperTabHelp