很多在Linux下寫程式或是在Linux下修改一些檔案的朋友 應該對Vi不陌生吧~ 當然小弟我最近因為在學Linux的Programming. 所以對這Vi也不陌生,不過也不熟啦! 所以在網路上找了些資料,以便不時之需! 剛開始用覺得用ESC,i,q這幾個指令已經夠了 不過用了一段時間以後,覺得,好像還不是挺方便. 因為有時後要一次重覆寫幾行類似的code進去~_~... 所以就想到了copy的指令跟past 不過有找到較多資料,所以就一起放進來ㄅㄟ!!!

vi 快速入門

簡介

有了強大的emacs還要來學什麼vi呢?其實vi應該是每個初學Unix的人所必備的, 在每台機器上一定都可以用,不像emacs沒有裝搞不好就沒有的用。另外vi的好 處是它很小,不佔記憶體,terminal可以動的地方就可以用。在做遠端管理 等等狀況非常好用。它算是一種標準編輯器,就像windows上一定有筆記本 這個程式一樣

一般說來vi沒有選單可以用(其實有變種vi,像gvim就有選單功能) ,所以一定要在兩個模式間跳來跳去。一開始就是在命令模式內,你要先跳到 編輯模式才可以亂打內容。其實也不一定啦,要看當初的設定為何,只是正 常古老時代應該是這樣。如果你按了老半天跑不出字來,就按個i

快速命令

以下是常用按鍵:

一。從命令到編輯模式
            a:將游標放到目前游標後一個字元,開始文字編輯模式。insert
            i:將游標放在目前游標位置,開始文字編輯模式。append
            o:將游標放到下一行起始位置,開始文字編輯模式。open new line
            比較常用就是i,a,o,I,A,O了,將來多試幾次就好了,就很熟悉了。
            二從編輯到命令
            ESC:沒事多按逃脫鍵,有益身體健康。
            三命令模式中的其他命令
            在命令模式中的按鍵就很多了,這些需要好好熟練一下了。
            在vi命令模式裡面,有的按鍵按完後他還是在命令模式,有的改個字元或copy/paste後
            又回到命令模式,有的就一去不回頭變成文字編輯模式了。
            有些按鍵會把你原本想改的內容做特殊的定位,例如要改個word,也會把你帶離命令模式
            檔案
            :q離開vi
            :e xxxx編輯xxxx
            :w存檔
            :w xxxx另存檔案xxxx
            :q!不存檔強迫離開
            :w!強迫存檔
            :wq存檔與離開
            游標移動
            h,j,k,l往左,往下,往上,往右
            0到行首
            $到行尾
            ^到這行的第一個非空白字元
            w,W到下個字, 到下個非空白的字
            b,B回上個字, 到上個非空白的字
            e,E到這個字的字尾, 到下個非空白的字字尾
            Ctrl-F ,Ctrl-B往後一頁,往前一頁
            G到檔尾
            :n到第n行 (所以到檔頭就是:1)
            Ctrl-G顯示第幾行
            J合併兩行
            搜尋與取代
            /
            /pattern尋找pattern
            ?pattern        往上尋找pattern
            n再往下尋找
            N再往上尋找
            :s/patrn/str/cgi搜尋patrn取代str
            其中:跟s間必需指定範圍(range)沒設範圍就是游標這行
            1,10 表示 1-10行
            %    表示整篇
            最後cgi
            c 表示confirm尋問
            g 表示global全部
            i 表示ignore不分大小寫
            常用字元字串處理
            cc改變整行
            dd砍掉整行
            yy拷貝整行(yank whole line)
            p,P貼上(paste) 你最近砍掉或拷貝的
            cw改變一個字
            d$砍到行尾
            ye拷貝到這個字尾
            r,R取代一個字元, 取代整行
            u,Uundo 最後修改,UNCHANGE整行
            x,X砍一個字元, 往回砍個字元(等於按backspace)
            重複的處理
            . 重複剛剛的命令或輸入
            這些試試看
            ce, 3x, 5dd, 10w, d0, y$, 5G
            indentation
            >>往右一個indent
            <<往左一個indent
            vim的多檔與多窗
            :e xxx          編輯xxx
            :buffers        列出所有編輯檔
            :bn             n是數 b1 b2 b3....表是開第n個buffer
            :bdn            n是數:bd1 :bd2 表示殺掉第n個buffer
            :new一個水平新窗
            :vnew開個垂直新窗
            :only           只留一個窗窗
            C-w j k h l     移到下 上 左 右 窗去
            

文章標籤
全站熱搜
創作者介紹
創作者 xboomz 的頭像
xboomz

麥雞翻米粒

xboomz 發表在 痞客邦 留言(0) 人氣(18)