天天看點

使用vim 開發C++

原版:http://easwy.com/blog/archives/advanced-vim-skills-catalog/

先來兩張指令圖

使用vim 開發C++

============================

使用vim 開發C++

(1) 使用VIM的會話(session)及viminfo的儲存和恢複 上次開發環境

       這裡所說的會話和viminfo,包括了你在本次使用VIM過程中的編輯環境,VIM可以把這個編輯環境儲存下來,然後你在下次啟動VIM後,可以再恢複回這個環境。我們在開發軟體項目時,其周期不是一兩天。如果你在中途退出了VIM而不能恢複原先的編輯環境的話,你又要重新打開你所打開的檔案,重新定義你的映射、縮寫,重新定位你所設定的标記的位置,重新設定項目相關設定……不是一般的麻煩!

要恢複上次的編輯環境,我們需要儲存兩種不同的資訊,一種是會話資訊,另外一種是viminfo資訊。

-    會話資訊中儲存了所有視窗的視圖,外加全局設定。

-    viminfo資訊中儲存了指令行曆史、搜尋字元串曆史、輸入行曆史、非空的寄存器内容、檔案的位置标記、最近搜尋/替換的模式、緩沖區清單、全局變量等資訊。

先看一下我們目前目錄,執行”:pwd”,顯示“/home/xxx/Desktop”,接下來,執行下面的指令:

:cd src                            "切換到/home/easwy/src/vim70/src目錄

:set sessionoptions-=curdir        "在session option中去掉curdir

:set sessionoptions+=sesdir        "在session option中加入sesdir

:mksession vim70.vim               "建立一個會話檔案

:wviminfo vim70.viminfo            "建立一個viminfo檔案

:qa                                "退出vim

退出vim後,在指令行下執行“ gvim & ”,再次進入VIM,這時看到的是一個空白視窗。然後執行下面的指令:

:source ~/src/vim70/src/vim70.vim  "載入會話檔案

:rviminfo vim70.viminfo            "讀入viminfo檔案

複習下:

       1.在下達的指令後面加上&,就可以使該指令在背景進行工作,這樣做最大的好處就是不怕被ctrl+c這個中斷指令所中斷。

  2. 那大家可能又要問了,在背景執行的程式怎麼使它恢複到前台來運作呢?很簡單,隻用執行fg這個指令,就可以了。

  3.可能有些同學又要問了,我現在已經在前台運作的指令,我能把它放到背景去運作麼?當然可以了,隻要執行ctrl+z就可以做到了。是不是很贊啊!

  4.說到這裡可能有些同學又要問了,如果我有多個程序在背景運作,那如何恢複到前台來執行呢?這時候就要用到jobs這個指令了,通過jobs這個指令,能夠列出所有在背景執行的程序,那個中括号([ ])裡面的數字就是 jobs 的代号啰 ,通過fg %number 就可以恢複指定的背景程序.

(2)  使用 vimrc

當VIM在啟動時,如果沒有找到vimrc或gvimrc,它預設工作VI相容的模式。這意味着,你隻能使用VI所具備的功能,而VIM中的大量擴充功能将無法使用。也許這就是你的VIM如此難用的原因。VIM中自帶了一個vimrc例子,讓我們從這個例子開始吧。

示例的vimrc(名為vimrc_example.vim)通常位于/usr/share/vim/vimXXX/目錄下,其中vimXXX與你所使用的VIM版本有關。

首先把這個示例的vimrc拷貝到相應的目錄,在Linux下,應該把它拷貝到你的home目錄下,名字為”.vimrc”,下面是shell指令:

cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc

或者你在VIM中執行下面的指令,和上面的shell指令完成相同的功能:

:!cp $VIMRUNTIME/vimrc_example.vim ~/.vimrc

現在,你退出VIM後再進入,你的VIM和剛才已經不一樣了。

複習下:

:!cp   在vim  下 加 ! 表示執行shell 下的指令

$VIMRUNTIME  vim變量值— 運作時變量 。 在 vim 下  執行 :echo $VIMRUNTIME 可以看到值。vim  工作目錄:/usr/share/vim/current  。 current 是個link 檔,指向vim70

~ 是目前的home目錄

.xxx 前面帶”點“ 的檔案是隐藏檔案,檢視要用ls -a

VIM自帶的示例vimrc中,隻定義最基本的配置。

在http://www.amix.dk/vim/vimrc.html有一個非常強大的vimrc,有人戲稱為“史上最強的vimrc”,或許有些言過其實。不過,如果你通讀了這個vimrc,相信能從中學到很多很多……

繼續閱讀