最近学着玩linux...vim用着真心爽。一份不用插件的配置文件留着。。以后用得上。。
source ~/.vim/vimrc_vundle.vim
filetype on
set nu
set ts=4
set sw=4
set ci
set si
set ai
set gfn=Monaco\ 15
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
let g:clang_auto_select=1
let g:clang_use_library=1
let g:clang_close_preview=1
"let g:clang_library_path='~/.vim/'
let g:acp_behaviorKeywordLength=1
let g:acp_behavior={
\"h":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\"hpp":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\"c":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\"cxx":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\"cc":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\"cpp":[{"meets":"acp#meetsForKeyword","command":"\<C-x>\<C-o>"}],
\}
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""新文件标题""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Author: znl1087")
call append(line(".")+2, "\# mail: loveCJNforever@gmail.com")
call append(line(".")+3, "\# Created Time: ".strftime("%c"))
call append(line(".")+4, "\#########################################################################")
call append(line(".")+5, "\#!/bin/bash")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: znl1087")
call append(line(".")+2, " > Mail: loveCJNforever@gmail.com ")
call append(line(".")+3, " > Created Time: ".strftime("%c"))
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
if &filetype == 'cpp'
call append(line(".")+6, "#include <iostream>")
call append(line(".")+7, "#include <cstdio>")
call append(line(".")+8, "#include <cstring>")
call append(line(".")+9, "#include <cmath>")
call append(line(".")+10, "using namespace std;")
call append(line(".")+11, "")
endif
if &filetype == 'c'
call append(line(".")+6, "#include<stdio.h>")
call append(line(".")+7, "")
endif
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
endfunc
" 映射全选+复制 ctrl+a
map <C-A> ggVG
map! <C-A> <Esc>ggVGY
map <F12> gg=G
" 选中状态下 Ctrl+c 复制
vmap <C-c> "+y
map <C-v> "+p
"C,C++ 按F5编译运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!cat >in.txt"
exec "! ./%< <in.txt"
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
elseif &filetype == 'sh'
:!./%
endif
endfunc
"C,C++的调试
map <F8> :call Rungdb()<CR>
func! Rungdb()
exec "w"
exec "!g++ % -g -o %<"
exec "!gdb ./%<"
endfunc