vim編輯器學習筆記

來源:互聯網
上載者:User

       最近以來對編輯器的選擇比較糾結,最開始時使用vim,因為只要能ssh串連上就可以進行編輯;後來用source in sight,原因是其查看代碼非常方便;再後來是用vs2010,原因是其對svn等工具的支援很好另外可以程式碼摺疊功能,但是痛苦之處是windows下vs2012預設是gb2132編碼,沒找到改為utf-8的方法,在Linux系統下漢語注釋什麼的全為亂碼。但是暗暗地想了一下,vim這麼強大的工具,怎麼可能不支援程式碼摺疊功能和svn呢,於是決定將vim的強大功能慢慢的總結與此。

————————————————————

零、vim的強大功能主要有外掛程式和vim的設定檔(~/.vimrc) 來配置。首先在~/目錄下建立.vim/doc、.vim/plugin、.vim/syntax三個目錄,另外建立~/.vimrc設定檔。


一、基本設定(包括行號顯示、文法高亮、tab轉換為空白格、程式碼摺疊功能凳)

       註:在設定檔中“ " ”行是注釋

vimrc-----------------------------------------

       " Use Vim setting, rather than Vi settings (much better!)

       " This must be first, because it changes other options as a side effect.

       set nocompatible


       "show line numbers

       set number


       "syntax on

       syntax on


       "tab 2 space

       set tabstop=4

       set shiftwidth=4

vimrc-----------------------------------------

二、程式碼摺疊功能

       VIM程式碼摺疊功能方式可以用"foldmethod"選項來設定,如: set foldmethod=indent

       有6種方式來摺疊代碼

       1. manual //手工定義摺疊
       2. indent //用縮排表示摺疊
       3. expr  //用運算式來定義摺疊
       4. syntax //用文法高亮來定義摺疊
       5. diff //對沒有更改的文本進行摺疊
       6. marker //用標誌摺疊 

       vim 設定檔分為全域設定檔和使用者設定檔 

       1. 全域設定檔尋找,在.vim 中輸入:echo $VIM,一般為:/usr/share/vim/vimrc
       2. 使用者設定檔在使用者主目錄下,如:/home/abeen/.vimrc

       在vimrc檔案中設定摺疊方式:如set foldmethod=indent
       選定摺疊方式後,就可以使用摺疊命令進行摺疊操作了.常用的摺疊方式為indent和marker.

       indent摺疊命令
       indent方式,vim會自動利用縮排進行摺疊,我們可以使用現成的摺疊成果.
       我們可以在摺疊處輸入以下命令:

       zc 摺疊
       zC 對所在範圍內所有嵌套的摺疊點進行摺疊
       zo 展開摺疊
       zO 對所在範圍內所有嵌套的摺疊點展開
       [z 到當前開啟的摺疊的開始處。
       ]z 到當前開啟的摺疊的末尾處。
       zj 向下移動。到達下一個摺疊的開始處。關閉的摺疊也被計入。
       zk 向上移動到前一摺疊的結束處。關閉的摺疊也被計入。

       marker摺疊命令 
       marker摺疊方式時,我們需要用標計來標識代碼的摺疊,系統預設是{{{和}}}
      摺疊命令

      zf 建立摺疊,比如在marker方式下:
      zf56G,建立從當前行起到56行的程式碼摺疊功能;
     10zf或10zf+或zf10↓,建立從當前行起到後10行的程式碼摺疊功能。
     10zf-或zf10↑,建立從當前行起到之前10行的程式碼摺疊功能。
     在括弧處zf%,建立從當前行起到對應的匹配的括弧上去((),{},[],<>等)。
     zd 刪除 (delete) 在游標下的摺疊。僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效。
     zD 迴圈刪除 (Delete) 游標下的摺疊,即嵌套刪除摺疊。僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效。
     zE 除去 (Eliminate) 視窗裡“所有”的摺疊。僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效。

       

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.