<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    CONAN ZONE

    你越掙扎我就越興奮

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks

    本節所用命令的幫助入口:

    :help mksession
    :help 'sessionoptions'
    :help source
    :help wviminfo
    :help rviminfo
    :help 'viminfo


    很多軟件都具有這樣一種功能:在你下一次啟動該軟件時,它會自動為你恢復到你上次退出的環境,恢復窗口布局、所打開的文件,甚至是上次的設置。

    那么,VIM有沒有這種功能呢?

    答案當然是肯定的!這需要使用VIM的會話(session)及viminfo的保存和恢復功能。

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

    要恢復上次的編輯環境,我們需要保存兩種不同的信息,一種是會話信息,另外一種是viminfo信息。

    -    會話信息中保存了所有窗口的視圖,外加全局設置。
    -    viminfo信息中保存了命令行歷史、搜索字符串歷史、輸入行歷史、非空的寄存器內容、文件的位置標記、最近搜索/替換的模式、緩沖區列表、全局變量等信息。

    我們在下面分別對其進行介紹。

    [會話]

    我們可以使用”:mksession [file]”命令來創建一個會話文件,如果省略文件名的話,會自動創建一個名為Session.vim的會話文件。會話文件,其本質上是一個VIM腳本,你可以使用上述命令生成一個會話文件,然后再查看其中的內容,就會對會話文件有一個深入的認識。

    會話文件中保存哪些信息,是由'sessionoptions'選項決定的。缺省的'sessionoptions'選項包括"blank,buffers,curdir,folds,help,options,tabpages,winsize",意為會話文件會恢復當前編輯環境的空窗口、所有的緩沖區、當前目錄、折疊相關的信息、幫助窗口、所有的選項和映射、所有的標簽頁、窗口大小。

    如果你使用windows上的VIM,并且希望你的會話文件可以同時被windows版本的VIM和UNIX版本的VIM共同使用的話,在'sessionoptions'中加入'slash'和'unix',前者把文件名中的’\’替換為’/’,后者會把會話文件的換行符保存成unix格式。

    如果你不希望在會話中保存當前路徑,而是希望會話文件所在的目錄自動成為當前工作目錄,那么,需要在'sessionoptions'去掉'curdir',加入'sesdir',這樣每次載入會話文件時,這個文件所在的目錄,就被設為VIM的當前工作目錄。在你通過網絡訪問其它項目時,或者你的項目有多個不同版本(位于不同的目錄),而你想始終使用一個會話文件時,這個選項比較有用:你只需要把會話文件拷貝到不同的目錄,然后使用就可以了。會話文件中保存的是文件的相對路徑,而不是絕對路徑。

    我們在上面使用”:mksession”命令創建了會話文件,那么怎么使用會話文件恢復編輯環境呢?很簡單,你只需要使用”source {file}”來導入會話文件。因為會話文件是一個腳本,里面保存的是Ex命令,所以”source”命令只是把會話文件中的Ex命令執行一遍。

    [viminfo]

    使用”:wviminfo [file]”命令,可以手動創建一個viminfo文件。

    其實,在VIM退出時,每次都會保存一個.viminfo文件在用戶的主目錄。我們使用”:wviminfo”命令則是手動創建一個viminfo文件,因為缺省的.viminfo文件會在每次退出VIM時自動更新,誰知道你在關閉當前軟件項目后,又使用VIM做過些什么呢?這樣的話,.viminfo中的信息,也許就與你所進行的軟件項目無關了。還是手動保存一個保險。

    :wviminfo”命令保存哪些內容,以及保存的數目,由'viminfo'選項決定,這個選項的值在windows上和在linux上的缺省值不同,具體含義參閱手冊。

    要讀入你所保存的viminfo文件,使用”:rviminfo [file]”命令。


    現在,回到我們的例子,依舊是上篇文章中的抓圖,先看一下我們當前目錄,執行”:pwd”,顯示“/home/easwy/src/vim70”,接下來,執行下面的命令:

    :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文件



    太棒了,又恢復到昨天退出時的狀態了!繼續工作~~~~

    posted on 2009-04-08 21:44 CONAN 閱讀(252) 評論(0)  編輯  收藏 所屬分類: VIM
    主站蜘蛛池模板: 久久亚洲AV成人无码软件| 欧洲精品免费一区二区三区| 亚洲日韩在线中文字幕第一页| 亚洲日韩精品国产一区二区三区| 99久久精品日本一区二区免费| 亚洲午夜久久久久久尤物| 91成人在线免费视频| 久久精品国产亚洲av高清漫画| 99精品热线在线观看免费视频| 2022年亚洲午夜一区二区福利| 亚洲免费人成在线视频观看| 久久青青草原亚洲av无码app| 无码人妻精品中文字幕免费| 亚洲熟妇无码久久精品| 在线观看特色大片免费视频| 亚洲av无码专区在线观看亚| 免费人成视频x8x8入口| www永久免费视频| 婷婷亚洲综合五月天小说 | 亚洲精品成人无码中文毛片不卡| 中文在线免费看视频| 久久亚洲sm情趣捆绑调教| 日韩高清免费观看| 一个人看的hd免费视频| 亚洲欧洲免费视频| 少妇高潮太爽了在线观看免费| 在线观看亚洲免费| 亚洲AV永久无码区成人网站| 国内精品免费麻豆网站91麻豆| 国产亚洲美女精品久久| 国产国拍亚洲精品mv在线观看 | 99在线热播精品免费99热| 亚洲图片在线观看| 全免费一级午夜毛片| 亚洲精品国产日韩无码AV永久免费网 | 污污视频网站免费观看| 亚洲Av无码精品色午夜| 妞干网在线免费观看| 一级一级一片免费高清| 亚洲欧洲国产综合| 亚洲第一区精品观看|