zhukers .vimrc
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2002 Sep 19
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
set tabstop=4
set shiftwidth=4
set expandtab
" tab expansion
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
else
return "\<C-N>"
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
" freescope macros
" func FREESCOPE_INIT()
" if has("cscope")
" set csprg=/usr/local/bin/freescope
" set csto=0
" set cst
" set nocsverb
" cs add freescope.out
" set csverb
"endif
" endfunction
" The following macros and functions can be added to your .vimrc for quick and handy database queries.
func FIND_IN_CSCOPE(arg)
let a=expand("")
if (a:arg == "s")
exe "normal :cscope find s"a"^M"
elseif (a:arg == "g")
exe "normal :cscope find g"a"^M"
elseif (a:arg == "c")
exe "normal :cscope find c"a"^M"
elseif (a:arg == "f")
exe "normal :cscope find f"a"^M"
elseif (a:arg == "e")
exe "normal :cscope find e"a"^M"
elseif (a:arg == "i")
exe "normal :cscope find i"a"^M"
endif
endfunction
"Find function calling this function
map fc :cscope find c
"Find symbol
map fs :cscope find s
"Find definition
map fg :cscope find g
"Find file
map ff :cscope find f
"Find egrep pattern
map fe :cscope find e
"Find file #including this file
map fi :cscope find i
map <C-_> :cs find c <C-R>=expand("<cword>")<CR><CR>
" autocmd FileType c :set foldmethod=indent foldlevelstart=99
set hidden
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
set nobackup " do not keep a backup file, use versions instead
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")
" Don't use Ex mode, use Q for formatting
map Q gq
" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")
func Myfold()
set foldlevelstart=99
syn region myFold start="{" end="}" transparent fold
syn sync fromstart
set foldmethod=syntax
endfunction
autocmd FileType c :call Myfold()
let g:miniBufExplMapWindowNavArrows = 1