国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

定義vim配置文件vimrc用于c/c++編程

2020-01-26 13:38:33
字體:
供稿:網(wǎng)友

vim作為Linux下廣受贊譽(yù)的代碼編輯器,其獨(dú)特的純命令行操作模式可以很大程度上方便編程工作,通過自定義vim配置文件可以實(shí)現(xiàn)對vim功能的個性化設(shè)置。

  vim配置文件一般有兩份,屬于root的/etc/vim/vimrc和屬于當(dāng)前用戶的~/.vimrc,兩者都可以配置vim,而當(dāng)兩者配置信息有沖突時,以后者為準(zhǔn)。

  我的/etc/vim/vimrc文件內(nèi)容如下:

runtime! debian.vimsyntax onset showmatchset nuset autoindentset cindentset mouse=aif filereadable("etc/vim/vimrc.local") source /etc/vim/vimrc.localendif

  我的當(dāng)前用戶vim配置文件~/.vimrc內(nèi)容如下:

inoremap ' ''<ESC>iinoremap " ""<ESC>iinoremap ( ()<ESC>iinoremap [ []<ESC>iinoremap { {<CR>}<ESC>O"設(shè)置跳出自動補(bǔ)全的括號func SkipPair()  if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}'    return "/<ESC>la"  else   return "/t"  endif endfunc " 將tab鍵綁定為跳出括號 inoremap <TAB> <c-r>=SkipPair()<CR>"打開文件類型檢測, 加了這句才可以用智能補(bǔ)全set completeopt=longest,menuset shortmess=atI " 啟動的時候不顯示那個援助烏干達(dá)兒童的提示 set showcmd "輸出的命令顯示出來autocmd InsertLeave * se nocul " 用淺色高亮當(dāng)前行autocmd InsertEnter * se cul " 用淺色高亮當(dāng)前行 set foldenable " 允許折疊set foldmethod=manual " 手動折疊 set nocompatible "去掉討厭的有關(guān)vi一致性模式,避免以前版本的一些bug和局限 " 映射全選+復(fù)制 ctrl+amap <C-A> ggVGYmap! <C-A> <Esc>ggVGYmap <F12> gg=G" 選中狀態(tài)下 Ctrl+c 復(fù)制vmap <C-c> "+y"去空行nnoremap <F2> :g/^/s*$/d<CR> "代碼補(bǔ)全set completeopt=preview,menu "共享剪貼板set clipboard+=unnamed " Tab鍵的寬度set tabstop=4" 統(tǒng)一縮進(jìn)為4set softtabstop=4set shiftwidth=4" 不要用空格代替制表符set noexpandtab" 在行和段開始處使用制表符set smarttab"禁止生成臨時文件set nobackupset noswapfile"搜索忽略大小寫set ignorecase"搜索逐字符高亮set hlsearchset incsearchset gdefault "行內(nèi)替換set encoding=utf-8set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 ""編碼設(shè)置set guifont=Menlo:h16:cANSI "設(shè)置字體set langmenu=zn_CN.UTF-8set helplang=cn "語言設(shè)置set ruler "在編輯過程中,在右下角顯示光標(biāo)位置的狀態(tài)行set laststatus=1 "總是顯示狀態(tài)行set showcmd "在狀態(tài)行顯示目前所執(zhí)行的命令,未完成的指令片段也會顯示出來set scrolloff=3 "光標(biāo)移動到buffer的頂部和底部時保持3行的距離"""""""set autowrite "在切換buffer時自動保存當(dāng)前文件"set showmatchset selection=exclusiveset selectmode=mouse,keyset wildmenu "增強(qiáng)模式中的命令行自動完成操作set linespace=2 "字符間插入的像素行數(shù)目set whichwrap=b,s,<,>,[,] "開啟normal 或visual模式下的backspace鍵空格鍵,左右方向鍵,insert或replace模式下的左方向鍵,右方向鍵的跳行功能filetype plugin indent on"分為三部分命令:file on,file plugin on,file indent on 分別是自動識別文件類型, 用用文件類型腳本,使用縮進(jìn)定義文件""]""filetype on "打開文件類型檢測功能autocmd BufNewFile *.cpp,*.[ch] exec ":call SetTitle()"func SetTitle() call setline(1,"/************************************************************************") call append(line("."), " > File Name: ".expand("%"))  call append(line(".")+1, " > Author: lsh")  call append(line(".")+2, " > Mail: lsh1999mail@163.com ")  call append(line(".")+3, " > Created Time: ".strftime("%c"))  call append(line(".")+4, "************************************************************************/")  call append(line(".")+5, "") if &filetype == 'cpp'  call append(line(".")+6, "#include<iostream>")  call append(line(".")+7, "using namespace std;")  call append(line(".")+8, "") endif if &filetype == 'c'  call append(line(".")+6, "#include<stdio.h>")  call append(line(".")+7, "") endif "新建文件后,自動定位到文件末尾(這個功能實(shí)際沒有被實(shí)現(xiàn),即下面的語句無效,暫不知道原因) autocmd BufNewFile * normal Gendfunc"C,C++ 按F5編譯運(yùn)行map <F5> :call CompileRunGcc()<CR>func! CompileRunGcc() exec "w" if &filetype == 'c'  exec "!g++ % -o %<"  exec "!time ./%<" elseif &filetype == 'cpp'  exec "!g++ % -o %<"  exec "!time ./%<" endif endfunc"C,C++的調(diào)試map <F8> :call Rungdb()<CR>func! Rungdb()exec "w"exec "!g++ % -g -o %<"exec "!gdb ./%<"endfunc"set tags=/home/lsh/files/tagslet Tlist_Auto_Open = 1let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'let Tlist_Show_One_File = 1let Tlist_Exit_OnlyWindow = 1""""""""""""""""""""""""

總結(jié)

以上所述是小編給大家介紹的定義vim配置文件vimrc用于c/c++編程,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿勒泰市| 砚山县| 德保县| 石楼县| 武邑县| 大理市| 普洱| 昌都县| 田林县| 大石桥市| 报价| 珠海市| 原阳县| 伊宁县| 安泽县| 广宁县| 赤峰市| 扎鲁特旗| 綦江县| 阿鲁科尔沁旗| 海安县| 万荣县| 长泰县| 土默特右旗| 五家渠市| 韶关市| 城市| 微山县| 永年县| 盈江县| 锦州市| 大悟县| 西丰县| 蒙自县| 平遥县| 新建县| 东阿县| 贵溪市| 新沂市| 额尔古纳市| 遵化市|