"如果仍不高亮显示,在/etc/profile中添加如下语句:
"export TERM=xterm-color
""""""""""""""""""""""""""""""""""""""""""""""
"添加新设置从最底部添加,否则可能不生效
""""""""""""""""""""""""""""""""""""""""""""""
"set lines=35 columns=90
set nocompatible
colorscheme desert
set backspace=indent,eol,start
filetype on
filetype plugin on
set showmatch
set vb t_vb=
set
gfn=Monospace\ 12
set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set tabstop=4
set softtabstop=4
set shiftwidth=4
set nu
set ruler
set hlsearch
set autoindent
set smartindent
set cindent
set autowrite
set showcmd
set incsearch
syntax on "如果此时语法还是没有高亮显示,那么在/etc/profile中添加以下语句:export TERM=xterm-color
syntax enable
source $VIMRUNTIME/syntax/php.vim
set path=.,/usr/include
set fencs=utf-8,gbk,ucs-bom,gb18030,gb2312,cp93
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplMapWindowNavVim = 1
nmap <F2> :cn<cr>
"nmap <F6> :cp<cr>
nnoremap <F3> :Grep<CR>
nmap <F4> :cclose<cr>
nmap <F5> :call Do_run()<cr>
function Do_run()
execute "cclose"
let filename = bufname("%")
let suffix_pos = stridx(filename, ".c")
if suffix_pos == -1
return
else
let target ="!./" . strpart(filename,0,suffix_pos)
endif
execute target
endfunction
nmap <F7> :call Do_make()<cr><cr><cr>
function Do_make()
execute "cclose"
let filename = bufname("%")
let suffix_pos = stridx(filename, ".c")
if suffix_pos == -1
return
else
let target = strpart(filename,0,suffix_pos)
endif
let target = "make CFLAGS=\"-Wall -Wextra -g -std=c99 \" CXXFLAGS=-g LDLIBS=-lm " . target
execute target
execute "copen"
endfunction
nmap <F8> :call Do_indent()<cr><cr><cr>
function Do_indent()
execute "cclose"
let filename = bufname("%")
let target = "!indent -linux " . filename
execute target
execute "edit " . filename
endfunction
nmap <F9> :Tlist<cr>
nmap <F10> :call Do_Replace()<CR>
function Do_Replace()
let old_word = expand("<cword>")
let new_word = input(old_word . " replace for :")
let target = ":%s/\\\<" . old_word . "\\\>/" . new_word . "/g"
execute target
endfunction
nmap <F11> :call Do_valgrind()<cr>
function Do_valgrind()
execute "cclose"
let filename = bufname("%")
let suffix_pos = stridx(filename, ".c")
if suffix_pos == -1
return
else
let target = strpart(filename,0,suffix_pos)
endif
let target = "!valgrind --tool=memcheck --leak-check=yes ./".target
execute target
endfunction
map <F12> :call Do_CsTag()<cr><cr>
function Do_CsTag()
execute "!ctags -R"
endfunction
autocmd BufNewFile,BufRead *.c,*.h,*.cpp :set tags=tags,../tags,/usr/include/tags,/usr/src/tags
""""""""""""""""""""""""""""""""""""""""""""""
"NERDTree
""""""""""""""""""""""""""""""""""""""""""""""
map <silent> <F6> :NERDTreeToggle<cr> "使用<F6>键就打开/关闭NERDTree窗口
let NERDTreeMinimalUI = 0 "关闭书签标签('Press ? for help')
let NERDTreeDirArrows = 0 "改变目录结点的显示方式(+/~)
"autocmd VimEnter * NERDTree "vim启动时运行
autocmd VimEnter * wincmd p
"初始光标位于右侧
let NERDChristmasTree=1
let NERDTreeAutoCenter=1
"let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'
let NERDTreeMouseMode=2
let NERDTreeShowBookmarks=1
let NERDTreeShowFiles=1
let NERDTreeShowHidden=1
"let NERDTreeShowLineNumbers=1
let NERDTreeWinPos='left'
let NERDTreeWinSize=31
"nnoremap f :NERDTreeToggle
""""""""""""""""""""""""""""""""""""""""""""""
"括号及引号自动配对
""""""""""""""""""""""""""""""""""""""""""""""
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {<CR>}<Esc>O
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>
inoremap } <c-r>=CloseBracket()<CR>
inoremap " <c-r>=QuoteDelim('"')<CR>
inoremap ' <c-r>=QuoteDelim("'")<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
function CloseBracket()
if match(getline(line('.') + 1), '\s*}') < 0
return "\<CR>}"
else
return "\<Esc>j0f}a"
endif
endf
function QuoteDelim(char)
let line = getline('.')
let col = col('.')
if line[col - 2] == "\\"
"Inserting a quoted quotation mark into the string
return a:char
elseif line[col - 1] == a:char
"Escaping out of the string
return "\<Right>"
else
"Starting a string
return a:char.a:char."\<Esc>i"
endif
endf
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair2('>')<CR>
function ClosePair2(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
""""""""""""""""""""""""""""""""""""""""""""""
" 窗口操作的快捷键
""""""""""""""""""""""""""""""""""""""""""""""
nmap ws <C-w>s " 水平分割当前窗口
nmap wv <C-w>v " 垂直分割当前窗口
nmap wc <C-w>c " 关闭当前窗口
""""""""""""""""""""""""""""""""""""""""""""""
" 模仿MS Windows中的快捷键
""""""""""""""""""""""""""""""""""""""""""""""
"vmap <C-c> "yy
"vmap <C-x> "yd
"nmap <C-v> "yp
"vmap <C-v> "yp
"nmap <C-a> ggvG$
""""""""""""""""""""""""""""""""""""""""""""""
" 模仿MS Windows中的保存命令: Ctrl+S,暂时不可用,待解决
""""""""""""""""""""""""""""""""""""""""""""""
imap <C-s> <Esc>:wa<cr>i<Right>
nmap <C-s> :wa<cr>
""""""""""""""""""""""""""""""""""""""""""""""
"设置状态条
""""""""""""""""""""""""""""""""""""""""""""""
set laststatus=2
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
""""""""""""""""""""""""""""""""""""""""""""""
"补全弹出窗颜色
""""""""""""""""""""""""""""""""""""""""""""""
"highlight Pmenu ctermbg=darkred ctermfg=blue
highlight PmenuSel ctermbg=blue ctermfg=yellow
""""""""""""""""""""""""""""""""""""""""""""""
" vimgdb setting
""""""""""""""""""""""""""""""""""""""""""""""
let g:vimgdb_debug_file = ""
run macros/gdb_mappings.vim
set splitright
set nosplitbelow
set previewheight=30
""""""""""""""""""""""""""""""""""""""""""""""
"taglist
""""""""""""""""""""""""""""""""""""""""""""""
"禁止自动改变当前Vim窗口的大小
let Tlist_Inc_Winwidth=0
"把方法列表放在屏幕的右侧
let Tlist_Use_Right_Window=1
"让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间
let Tlist_File_Fold_Auto_Close=1
""""""""""""""""""""""""""""""""""""""""""""""
"winmanager
""""""""""""""""""""""""""""""""""""""""""""""
let g:winManagerWindowLayout='FileExplorer|TagList'
let g:winManagerWidth=30
nmap wm :WMToggle<cr>