cd /repo/efjtjkb/epg/up/ set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required Plugin 'scrooloose/nerdtree' Plugin 'c.vim' Plugin 'jeetsukumaran/vim-buffergator' Plugin 'ericcurtin/CurtineIncSw.vim' Plugin 'tpope/vim-fugitive' Plugin 'ctrlpvim/ctrlp.vim' call vundle#end() " required filetype plugin indent on " required set tabstop=4 " show existing tab with 4 spaces width set shiftwidth=4 " when indenting with '>', use 4 spaces width set expandtab " On pressing tab, insert 4 spaces set mouse=a set nu " define upper case versions of :w and :q command! -bang -range=% -complete=file -nargs=* W ,write command! -bang Q quit " fugitive.vim looks for tags in .git " set tags +=~/tags " Recursively move upwards in tree, searching in subfolders for tags file " Open NERDTree if no file specified autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif " CtrlP let g:ctrlp_working_path_mode = 'ra' " Find project root let git_dir_location=finddir('.git', ';') let git_root_location=fnamemodify(git_dir_location, ':h') " Locate cscope file if has("cscope") set csto=0 " Search cscope before ctags set cst " searches cscope also set nocsverb " Not verbose when adding database set cspc=3 " Display the last 3 components of file path "add any database in current dir if filereadable("cscope.out") cs add cscope.out "else search cscope.out in git folder else let cscope_file=findfile("cscope.out", git_dir_location) if !empty(cscope_file) && filereadable(cscope_file) exe "cs add" cscope_file git_root_location endif endif endif command! Csc cscope find c " Regen cscope " sh ~/bin/gen_cscope.sh . .git/cscope.out " " Key binds " nmap :NERDTreeToggle nmap :NERDTreeFind map :call CurtineIncSw() nmap :silent !/home/efjtjkb/bin/comp " Remap (c-vim uses this) "nmap :silent !/home/efjtjkb/bin/run autocmd VimEnter * noremap :silent !/home/efjtjkb/bin/run nmap :silent !/home/efjtjkb/bin/run old " MINUT to et macros let @a=':%s/MINUT_ASSERT_EQ/et_asserteq/ge \:%s/MINUT_ASSERT_NE/et_assertne/ge \:%s/MINUT_ASSERT_STREQ/et_asserteq_str/ge \:%s/MINUT_ASSERT_STRNE/et_assertne_str/ge \:%s/MINUT_ASSERT_PTREQ/et_asserteq_ptr/ge \:%s/MINUT_ASSERT_PTRNE/et_assertne_ptr/ge \:%s/MINUT_ASSERT/et_assert/ge \:%s/MINUT_TEST_EQ/et_asserteq/ge \:%s/MINUT_TEST_NE/et_assertne/ge \:%s/MINUT_TEST_STREQ/et_asserteq_str/ge \:%s/MINUT_TEST_STRNE/et_assertne_str/ge \:%s/MINUT_TEST_PTREQ/et_asserteq_ptr/ge \:%s/MINUT_TEST_PTRNE/et_assertne_ptr/ge \:%s/MINUT_TEST/et_assert/ge \:%s/\_s\+MINUT_RETURN_SUCCESS();//e " \_s\+ all preceding whitespace \:%s/#include "minut.h"/#include "et.h"/ge ' function! Et(name) let start = line('.') - 1 call append(start,"ET_FIXTURE(" . a:name . ", setup, teardown) {") call append(start+1,"") call append(start+2,"};") call append(start+3,"") call append(start+4,"ET_FIXTURE_FN(" . a:name . ", setup)") call append(start+5,"{") call append(start+6," " . a:name . "* fixture = et_test_fixture();") call append(start+7,"") call append(start+8," (void)fixture;") call append(start+9,"}") call append(start+10,"") call append(start+11,"ET_FIXTURE_FN(" . a:name . ", teardown)") call append(start+12,"{") call append(start+13," " . a:name . "* fixture = et_test_fixture();") call append(start+14,"") call append(start+15," (void)fixture;") call append(start+16,"}") call append(start+17,"") call append(start+18,"ET_TEST_F(" . a:name . ", )") endfunction