vim不完全配置手冊

來源:互聯網
上載者:User

下定決心好好來配置一下 vim.

 基本配置

終端運行:

vim ~/.vimrc

配置內容如下:

set nocp    "設定相容set expandtab   "設定tabset shiftwidth=4    "設定tab的間隔set tabstop=4   "四個空格代表一個tabset sts=4set showmatch   "在輸入括弧時游標會短暫地跳到與之相匹配的括弧處set autoindent  "設定自動縮排set number  "設定是否顯示行set guifont=Monospace\ 12  "設定字型大小 set encoding=utf-8  "設定編碼為utf-8set fileencoding=utf-8set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1"自動補全配置autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete "#######中括弧 大括弧 小括弧 自動補全:inoremap ( ()<ESC>i:inoremap ) <c-r>=ClosePair(')')<CR>:inoremap { {}<ESC>i:inoremap } <c-r>=ClosePair('}')<CR>:inoremap [ []<ESC>i:inoremap ] <c-r>=ClosePair(']')<CR>:inoremap < <><ESC>i:inoremap > <c-r>=ClosePair('>')<CR>function ClosePair(char)    if getline('.')[col('.') - 1] == a:char        return "\<Right>"    else        return a:char    endif endfunction"#######中括弧 大括弧 小括弧 自動補全

代碼自動補全

首先安裝ctags

sudo apt-get install exuberant-ctags

在主目錄中建立.vim檔案夾,然後按建立幾個子目錄:

cd .vimmkdir pluginmkdir docmkdir tags

下載omnicppcomplete,點我下載

解壓後生產三個檔案夾,after, autoload, doc我直接把這三個檔案夾放在 .vim這個檔案夾下。


還需要下載一個檔案,用於產生cpp的索引-libstdc++ 標頭檔

解壓後終端cd到解壓後的目錄,用ctags生產索引。

ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp .

目錄下面會多出一個cpp檔案,這就是產生的索引檔案。

將cpp檔案拷貝進~.vim/tags檔案夾中。

最後修改一下~/.vimrc.在最後添加

"-- omnicppcomplete setting --set tags+=/home/tao/.vim/tags/cppset completeopt=menu,menuonefiletype plugin indent onlet OmniCpp_MayCompleteDot = 1 " autocomplete with .let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->let OmniCpp_MayCompleteScope = 1 " autocomplete with ::let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included fileslet OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype  in popup windowlet OmniCpp_GlobalScopeSearch=1let OmniCpp_DisplayMode=1let OmniCpp_DefaultNamespaces=["std"]

重啟vim,測試一下:


檔案瀏覽器

在進行多檔案編輯的時候,如果沒有檔案瀏覽功能,不停的切換檔案將會非常之蛋疼..

這裡要用到的外掛程式是nerdtree,點我下載。

解壓後將plugin下的.vim和doc下的.txt檔案拷貝到~/.vim下的對應目錄。

#命令列cp plugin/NERD_tree.vim ~/.vim/plugin/cp doc/NERD_tree.txt ~/.vim/doc

開啟vim,執行命令:

:NERDTree

關於外掛程式的使用:

進入目前的目錄的樹形介面,通過小鍵盤上下鍵,能移動選中的目錄或檔案

目錄前面有+號,摁Enter會展開目錄,檔案前面是-號,摁Enter會在右側視窗展現該檔案的內容,並游標的焦點focus右側。

ctr+w+h 游標focus左側樹形目錄,ctrl+w+l 游標focus右側檔案顯示視窗。多次摁 ctrl+w,游標自動在左右側視窗切換

游標focus左側樹形視窗,摁? 彈出NERDTree的協助,再次摁?關閉協助顯示

輸入:q斷行符號,關閉游標所在視窗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.