1. 程式人生 > >配置 vim C/C++集成開發環境實踐(二)

配置 vim C/C++集成開發環境實踐(二)

可能 默認 sorl tgui ace ast gvim evm arch

主要參考GitHub項目:所需即所獲:像 IDE 一樣使用 vim

其教程講解已相當詳細,故此處文章僅簡要記錄個人按照上述項目學習配置vim的過程。

可能是個人理解不到位或者項目久未更新的原因,實踐中有未達到預期之處且部分操作有出入,謹供交流參考。

——————

界面美化

在這裏選用的主題風格是

  • 素雅 solarized(https://github.com/altercation/vim-colors-solarized )

在 ~/.vimrc中追加

" 配色方案
set background=dark
colorscheme solarized
"colorscheme molokai
"colorscheme phd
" 禁止光標閃爍 set gcr=a:block-blinkon0 " 禁止顯示滾動條 set guioptions-=l set guioptions-=L set guioptions-=r set guioptions-=R " 禁止顯示菜單和工具條 set guioptions-=m set guioptions-=T " 將外部命令 wmctrl 控制窗口最大化的命令行參數封裝成一個 vim 的函數 fun! ToggleFullscreen() call system("wmctrl -ir " . v:windowid . " -b toggle,fullscreen
") endf " 全屏開/關快捷鍵 map <silent> <F11> :call ToggleFullscreen()<CR> " 啟動 vim 時自動全屏 autocmd VimEnter * call ToggleFullscreen() " 總是顯示狀態欄 set laststatus=2 " 顯示光標當前位置 set ruler " 開啟行號顯示 set number " 高亮顯示當前行/列 set cursorline set cursorcolumn " 高亮顯示搜索結果 set hlsearch " 設置 gvim 顯示字體 set guifont=YaHei\ Consolas\ Hybrid\ 11.5
" 禁止折行 set nowrap " 設置狀態欄主題風格 let g:Powerline_colorscheme=solarized256

事實上我在添加這些設置後,沒有獲得預期效果,背景、文字顏色、高亮效果等都有些“不堪入目”。

Google了一堆方法嘗試未果,又從xfce切換到genome3再嘗試,仍然不成。

最後是通過修改gnome3的Terminal的Colors屬性“碰巧”解決了...效果如下

技術分享圖片

修改的方法:

Terminal -> Edit -> Profile Preferences -> Colors -> Built-in schemes -> 設為 solarized

技術分享圖片

技術分享圖片

還有
" 禁止光標閃爍 " 禁止顯示滾動條 " 禁止顯示菜單和工具條 這三項設置,和全屏相關的設置也未生效,因為影響不大,沒有深究。若有了解原由的朋友,還請指點一二。

代碼分析(4.1-4.5)

在 ~/.vimrc 中追加:

" 開啟語法高亮功能
syntax enable
" 允許用指定語法高亮配色方案替換默認方案
syntax on

" 自適應不同語言的智能縮進
filetype indent on
" 將制表符擴展為空格
set expandtab
" 設置編輯時制表符占用空格數
set tabstop=4
" 設置格式化時制表符占用空格數
set shiftwidth=4
" 讓 vim 把連續數量的空格視為一個制表符
set softtabstop=4

" 隨 vim 自啟動
let g:indent_guides_enable_on_vim_startup=1
" 從第二層開始可視化顯示縮進
let g:indent_guides_start_level=2
" 色塊寬度
let g:indent_guides_guide_size=1
" 快捷鍵 i 開/關縮進可視化
:nmap <silent> <Leader>i <Plug>IndentGuidesToggle

" 基於縮進或語法進行代碼折疊
"set foldmethod=indent
set foldmethod=syntax
" 啟動 vim 時關閉折疊代碼
set nofoldenable

" *.cpp 和 *.h 間切換
nmap <silent> <Leader>sw :FSHere<cr>

“ vim-signature 快捷鍵
let g:SignatureMap = {
        \ Leader             :  "m",
        \ PlaceNextMark      :  "m,",
        \ ToggleMarkAtLine   :  "m.",
        \ PurgeMarksAtLine   :  "m-",
        \ DeleteMark         :  "dm",
        \ PurgeMarks         :  "mda",
        \ PurgeMarkers       :  "m<BS>",
        \ GotoNextLineAlpha  :  "‘]",
        \ GotoPrevLineAlpha  :  "‘[",
        \ GotoNextSpotAlpha  :  "`]",
        \ GotoPrevSpotAlpha  :  "`[",
        \ GotoNextLineByPos  :  "]‘",
        \ GotoPrevLineByPos  :  "[‘",
        \ GotoNextSpotByPos  :  "mn",
        \ GotoPrevSpotByPos  :  "mp",
        \ GotoNextMarker     :  "[+",
        \ GotoPrevMarker     :  "[-",
        \ GotoNextMarkerAny  :  "]=",
        \ GotoPrevMarkerAny  :  "[=",
        \ ListLocalMarks     :  "ms",
        \ ListLocalMarkers   :  "m?"
        \ }

配置 vim C/C++集成開發環境實踐(二)