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

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

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

    jasmine214--love

    只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    學習vi──備忘單方法---超牛。

    Posted on 2011-01-27 17:16 幻海藍夢 閱讀(735) 評論(0)  編輯  收藏 所屬分類: Linux

    學習vi──備忘單方法

    內容:

    1.  新手上路

    介紹

    本教程將會向你展示如何使用vi──一個強大的可視化編輯器。通過使用特別的備忘單方法,本教程可使你成為一名熟練的vi用戶,而不要求大量的時間。在這個vi教程中,你將會學會如何移動、編輯文本、使用插入模式、復制和粘貼文本,以及使用諸如可視化模式和多窗口編輯這樣重要的vim擴展。

    如果你沒聽說過vi,或者不習慣使用vi,那么你就應該對自己負責,利用本教程趕緊學習這個最流行最強大的Linux/UNIX可視化編輯程序。

    關于本指南

    只有特別的一件事會使學習vi很困難──vi有眾多的命令。為了有效地使用vi,你需要記住不少命令。這會需要很長時間,而本教程的目標之一就是不占用你的很多時間。所以,我們一開始就有一個挑戰──我是如何具體地幫助你在短期就記住眾多的命令?

    為了處理這個挑戰,在我們進行本教程的過程中,會逐漸地生成一個vi備忘單。這個單子會包括所有重要的vi命令。當你完成本教程后,你將能在忘記了某個命 令的時候參考該備忘單。時間一長,由于你記住了命令,你會漸漸地越來越不依賴于備忘單。通過使用備忘單的方式,你將能前所未有地更快學習如何使用vi!

    學習過程

    在本指南中,我將使用幾個技巧來幫助你學習。首先,我會描述某個命令是如何工作的,正如之前你所期望的。然后,我將讓你試著在vi中使用該命令(為了練 習)。接下來我會讓你將該命令轉錄到備忘單上(以備將來參考)。如果你想更快地學習vi,執行所有這些步驟是很重要的。在vi中試用命令并轉錄到備忘單中 將會幫助你記憶該命令。

    介紹vim

    vi有很多版本,而我將會向你展示如何使用一個叫做vim的版本。vim非常流行,并有使vi漂亮了很多的眾多擴展(當我示范vim專用的命令時,我會加以說明)。如果你需要安裝vim,可以從www.vim.org那里得到它。除了增強版的命令行vi,vim還增加了gvim,一個漂亮的圖形化編輯器,可以被配置來調用優秀的GTK+圖形化界面庫。這是我系統上的gvim截圖:


    圖示 1.1: VIM截圖

    Fig. 1: 截圖

    如果你是vi新手,請讓gvim運行在你的系統上。對于初學者來說,在圖形化界面下使用vi可以使事情變得簡單一些。

    2.  第一步

    打開文件

    在使用vi編輯文件之前,你需要知道如何使用vi在文件中移動。vi有許多移動命令,而我們將會看到其中的很多。為教程中的這一部分找一個不重要的文本文件,并通過輸入以下命令來將它載入到vi中:

    代碼 2.1: 將文件載入vi

    $ vi myfile.txt

    如果你已安裝了vim,輸入vim myfile.txt。如果你更喜歡使用gvim,輸入gvim myfile.txtmyfile.txt應該是你系統上的某個文本文件名。

    vi內部

    vi啟動之后,你應該能在屏幕上看到載入的文本文件的一部分了。恭喜──你已經進入vi了!vi不像其他的編輯器,當它啟動時處于一個叫做命令模式的特殊模式中。這意味著如果你按鍵盤上的l鍵,光標會向右移一位,而不是在當前光標位置上插入一個l。在命令模式下,鍵盤上的字符是用來向vi傳送命令的,而不是在文本中插入文字字符的。移動命令是最重要的命令類型之一;讓我們來看看其中的一些。

    3.  移動

    vi中的移動,第1部分

    當在命令模式中時,你可以分別使用hjkl鍵來向左、下、上和右移動。如果你正在使用現代版本的vi,你也可以使用方向鍵來達到同樣的目的。hjkl鍵很方便,這是因為一旦你適應了它們,你就可以不用把手指從主鍵盤上移開就在文件中四處移動。試著用hjkl鍵(還有方向鍵)在文本文件中移動吧。試著用h鍵直到你移到了一行的開始處。注意,vi不允許你在行首時用h鍵轉到前一行。同樣地,你也不能在行尾時用l鍵轉到下一行。

    vi中的移動,第2部分

    vi為跳轉到當前行的首或尾提供了特別的捷徑。你可以按0(零)鍵來跳轉到一行的開始,以及$鍵跳轉到末尾。試試它們看看。由于vi有許多便捷的移動命令,它也是一個偉大的“翻頁工具”(如同more或者less命令)。用vi做翻頁也會幫助你迅速學習所有的移動命令。

    你也可以用<CTR>F<CTR>B來一次前進或后退一頁。現代版本的vi(比如vim)也允許你用PGUPPGDOWN鍵達到同樣的目的。

    詞語移動,第1部分

    vi也允許你向左右按詞移動。按w鍵移到下一個詞的第一個字符。按e鍵移到下一個詞的最后一個字符。按b鍵移到前一個詞的第一個字符。試驗一下它們。

    詞語移動,第2部分

    玩過詞語移動命令之后,可能你已經注意到vi將像foo-bar-oni這樣的詞看做是五個分開的詞!這是因為vi默認地按照空格或者標點來區分詞語。因此foo-bar-oni被看做是五個詞:foo-bar-oni

    有時這是你想要的,而有時這卻不是。幸運的是,vi也能理解“長詞”的概念。vi僅按照空格或是新行分解長詞。這意味著當foo-bar-oni被看做是五個vi詞語時,卻僅僅是一個vi長詞。

    詞語移動,第3部分

    你可以用一個大寫的詞語移動命令來跳轉到前一個或后一個長詞。用W鍵來跳轉到下一個長詞的第一個字符,用E鍵跳轉到下一個長詞的最后一個字符,用B鍵跳轉到前一個長詞的第一個字符。試驗一下它們,然后比較一下匹配的單詞和長詞移動命令,直到你理解了它們之間的不同。

    更大的移動

    在我們開始把它們集中到備忘單之前,再來看看幾個命令。你可以用()鍵來移到前一句或后一句的開始處。還有,你可以敲{}鍵來轉到當前段落或下一段落的開始處。試驗一下它們。

    4.  退出

    我們已經講過了基本的移動命令,但是你還需要知道其他一些命令。輸入:q會退出vi。如果這個不靈,那你可能意外地修改了文件某處。如要讓vi放棄所有更改而退出,輸入:q!。現在你應該位于命令提示符處了。

    在vi中,所有以:開頭的命令都被稱為ex模式命令。這是因為vi有一個內建的非可視化的編輯器,叫做ex。它可以像sed那樣用來做基于行的編輯操作。還有,它可以用來退出,就像我們剛剛看到的那樣。只要你在命令模式下敲了Q鍵,就會轉到ex模式。如果這發生在你身上了,那你會面對一個:提示符,而且輸入回車符會使整個屏幕向上翻頁并退出。只要輸入vi并回車就能又回到vi模式。

    5.  備忘單

    備忘單的開端

    我們已經講過了許多命令,現在是把它們轉錄到備忘單的時候了。為此你需要一張信紙,或者A4大小的紙張(我們將會把許多信息都記在這張單子上!)。這張圖 片展示了我的備忘單,轉錄了到現在為止所有我們講到的命令。如果可能的話請模仿我的布局,這樣我們可以把所有的信息都集中在一張單子里。


    圖示 5.1: 備忘單

    Fig. 1: 備忘單的第一部分

    vi雜項

    讓我們繼續學習命令的腳步。在命令模式中,你可以輸入G鍵來跳轉到特定的行。要跳轉到文件的首行,輸入1G。注意G是大寫的。

    如果你想跳轉到下一處某個文本模式的出現,輸入/<regexp>后敲回車。用你正在尋找的正則表達式替換<regexp>。如果你不知道怎么使用正則表達式,不要煩躁──輸入foo會移動到下一處foo出現的地方。對此你唯一需要注意的是,當你想引用^.$\字符時,用反斜線符號(\)做這些符號的前綴。比如,foo\.gif會搜索下一處“foo.gif”的出現。

    要向前重復搜索,敲n鍵。要向后重復搜索,輸入N。跟往常一樣,在你自己的vi編輯器里測試這些命令。你也可以輸入//來重復上一次搜索。

    6.  保存和編輯

    保存和另存為

    我們已經講過了如何使用ex命令:q來從vi中退出。如果你想要保存更改,輸入:w。如果你想要將更改保存到另一個文件,輸入:w filename.txt來另存為filename.txt。如果你想保存并退出,輸入:x或者:wq

    在vim(還有其他高級vi編輯器,像elvis)中,你可以同時打開多個緩沖區。要在新窗口中打開文件,輸入:sp filename.txtfilename.txt會在一個新的分割窗口中顯示為編輯打開。要在各窗口間切換,輸入<CTR>w<CTR>w(control-w兩次)。你輸入的任何:q:q!:w:x命令只會作用于當前激活的窗口。

    簡單編輯

    現在是開始學習一些簡單編輯命令的時候了。此處我們將要涉及的命令被認為是簡單的,是因為這些命令使你一直處于命令模式中。更復雜一些的命令會自動將你放到插入模式中──一種允許你從鍵盤輸入文字數據的模式。我們也會涉及一點兒這些情況。

    而現在,試著移到一些字符上并重復按x鍵。你會看到x會刪除當前光標下的字符。現在,移動到文本文件中某段落的中間,然后按J(大寫)。你會看到J命令讓vi將下一行加到當前行末尾。現在,移到一個字符上并按r,然后輸入一個新字符;你會看到原始字符被替換掉了。最后,移到文件中任一行并輸入dd,你會看到dd刪除了文本的當前行。

    重復和刪除

    你可以靠.鍵來重復任一編輯命令。如果你試驗一下,會看到輸入dd...會刪掉4行,而J......會加入4行。與往常一樣,vi提供了其他便捷的方式。

    你也可以用d命令加上其他命令來刪除文本。比方說,dw會從當前位置一直刪到下一個詞的開始處;d)會一直刪到下一句為止;而d}會刪掉本段落的其余部分。試一下d命令和其他編輯命令,直到你適應了它們。

    撤消!

    現在我們正在試驗刪除,這也是學習如何撤消更改的好時候。按u鍵,原始版本的vi僅允許你撤消最后一次的編輯。然而,像vim之類的現代版本vi會允許你重復按u鍵繼續撤消對文件的更改。試著將一些du命令混合起來。

    更新備忘單

    到更新備忘單的時候了!加上到目前為止我們講過的命令后,你的備忘單看起來應該是這樣的:


    圖示 6.1: 含有編輯命令的備忘單

    Fig. 1: 備忘單

    7.  插入模式

    迄今為止,我們已經講了如何在vi中移動,進行文件輸入/輸出,以及一些基本的編輯操作。然而,我仍然沒有向你展示如何實際地輸入自由格式的文本!這是故意的,因為vi的插入模式一開始有點兒復雜。但是,當你適應了插入模式之后,它的復雜性(以及靈活性)會成為優點。

    在vi的插入模式中,你將能直接向屏幕里輸入文本,就像在其他很多可視化編輯器中一樣。一旦你輸入完更改,可敲Esc鍵退回到命令模式。你可以按i鍵或a鍵進入插入模式。如果你按i鍵,你的文本會被插入到當前字符之前,而如果你按a鍵,你的文本會被續寫到當前字符之后。記住,在你輸入了文本之后,敲<ESC>來回到命令模式。

    插入模式的益處

    繼續試著使用ai命令。敲a鍵或i鍵,輸入一些文本,然后敲ESC回到命令模式。敲完ai后,試著敲<ENTER>看看會發生什么。試著使用方向鍵和<DEL>鍵來感受一下插入模式是怎樣工作的。通過使用方向鍵和<DEL>鍵,你可以執行大量的編輯步驟,而不用重復進出插入模式。

    插入選項

    這里有一些其他進入插入模式的便捷方式。不管你當前處于當前行的什么位置,按A鍵(大寫)來開始在該行的末尾處續寫。同樣地,按I鍵(大寫)來開始在當前行的開始處插入文本。按o鍵來在當前行下面創建一個新的可插入文本的空行,而按O鍵(大寫)可在當前行之上創建一個新行。按cc可用新行將當前行全部替換掉。要將從當前位置到本行末尾之間的一切替換掉,輸入c$。要將從本行開頭到當前位置的一切替換掉,輸入c0

    除了執行特定的操作,這些命令都能將你置于插入模式中。輸入你的文本后,敲<ESC>鍵退回到命令模式。

    更改文本

    迄今為止我們已經使用了一些c(change,即變更)命令,包括ccc0c$cc是變更命令的一種特殊形式,同dd相似。c0c$命令是將變更命令和移動命令結合使用的例子。在這種形式中,cd工作方式類似,除了它將你置于插入模式之中以讓你能輸入可替代刪除區域的文本。將一些移動命令和c結合起來,在你的文件中試試看(提示:cWcec(。)

    8.  復合命令

    當你開始使用復合(“套餐”)命令,如d{cw時,vi才真正地變得強大起來。除了這些命令,你也可以將數字和任一移動命令組合,比如3w,它會告訴vi向右跳轉三個詞。這里有一些移動“套餐”命令的范例:12b4j

    vi除了允許(數字)(移動命令)的組合,還允許dc和數字或移動命令組合。所以,d3w會刪除后面三個單詞,d2j會刪除當前行和下面兩行,等等。試驗一下cd相結合的移動,感受一下vi編輯是多么強大和簡潔。一旦這些命令成為了第二天性,你將能以閃電般的速度編輯文件。

    更新備忘單

    是再次更新備忘單的時候了。現在它看起來應該是這個樣子:


    圖示 8.1: 含有復合命令的備忘單

    Fig. 1: 備忘單

    提高工作效率的特性

    到目前為止,我們已經講了如何移動、保存和退出、進行簡單編輯和刪除,以及使用插入模式。有了當前備忘單上記錄的一切,你應該能使用vi來進行幾乎所有的任務了。

    但是,vi還有許多更強大的命令。在本部分,你會學習到如何使用剪切復制粘貼搜索替換,以及使用自動縮進特性。這些命令會幫助vi變得更有趣更具工作效率。

    可視化模式

    剪切和粘貼的最佳方法是使用可視化模式,它是被加入到諸如vim和elvis等現代版本的vi中的一種特殊模式。你可以將可視化模式看做為一種“高亮文本”模式。一旦文本被高亮,它就可以被復制或刪除,然后粘貼。如果你正在使用gvim,即可用拖拽鼠標左鍵滑過某段區域的方式來高亮。


    圖示 8.2: 含有高亮文本的VIM

    Fig. 2: 高亮的文本

    另外,你也可以按v鍵進入可視化模式(如果你在控制臺中使用vi,這可能是你唯一的選擇)。然后,用移動命令(通常是方向鍵)來移動光標,你將能高亮某個文本區域。一旦文本被高亮了,我們就準備好剪切或復制它們了。

    如果你正在復制文本,敲y鍵(代表“yank”,即“用力拉拽”,譯者注)。如果你正在剪切文本,敲d。你將回到命令模式。現在,移到你想插入剪切或復制的文本的位置,并敲P鍵來將其插入于光標之前,或p插入到光標之后。瞧,剪切/復制和粘貼完成了!在進入下一部分之前,試驗一些復制/剪切和粘貼操作。

    替換文本

    我們使用ex模式來替換某模式的文本。如果你想替換掉當前行中第一個匹配的模式,輸入:s/<regexp>/<replacement>/并敲回車,此處<regexp>是你想匹配的模式,<replacement>是用來替換的字符串。要替換掉當前行中所有匹配的模式,輸入:s/<regexp>/<replacement>/g并敲回車。要替換掉該模式在你的文件中的所有匹配(通常你是這么想的),輸入:%s/<regexp>/<replacement>/g。如果你想要做全局替換,但是希望vi提示每一處變化,輸入:%s/<regexp>/<replacement>/gc(代表“confirm”,即“確認”,譯者注)并敲回車

    縮進

    為了編輯源代碼vi支持自動縮進。當你編輯源代碼文件(比如.c文件)時,大多數現代版本的vi(如vim)自動啟用自動縮進模式。當自動縮進啟用時,你可以用<CTR>d(control-d)來向左移動一個縮進單位,或用<CTR>t(control-t)來向右移動一個縮進單位。如果自動縮進并未被自動啟用,你可以通過在ex命令中輸入:set autoindent的辦法來手工啟用之。你也可以用:set tabstop來告訴vi將制表符設定為你最喜歡的設置;:set tabstop=4相當流行。

    我們最終的備忘單

    嗯,我們已經抵達了vi教程的末尾了!在將所有高級編輯命令添加到你的備忘單之后,它看起來應該是這樣的:


    圖示 8.3: 終極備忘單

    Fig. 3: 備忘單

    將你的備忘單常置于手邊,并開始使用vi來編輯文件和編寫郵件。有需要時參考備忘單;你會發現一周之內,你能記住幾乎所有的命令,而你的vi工作效率會直沖云霄!

    如果你想用vi做為默認編輯器,對/etc/rc.conf做如下更改:

    代碼 8.1: 將vi設為默認編輯器

    (將EDITOR設為你喜歡的編輯器)
    #EDITOR="/bin/nano"
    EDITOR="/usr/bin/vim"
    #EDITOR="/usr/bin/emacs"

    資源

    這里有一些資源,在你繼續深入學習vi時可能會有幫助:

    關于本文檔

    本文章的原始版本首先發布于IBM developerWorks,版權歸Westtech Information Services所有。本文檔是原始版本的更新版本,包含了由Gentoo Linux文檔組做的各種改進。

    原文:http://www.gentoo.org/doc/zh_cn/vi-guide.xml

    主站蜘蛛池模板: 成人伊人亚洲人综合网站222| 日本在线高清免费爱做网站| 国产免费人视频在线观看免费| 亚洲av综合色区| 免费污视频在线观看| 成人a视频片在线观看免费| 亚洲小视频在线观看| 男人的天堂av亚洲一区2区| 最近高清国语中文在线观看免费| 激情综合亚洲色婷婷五月APP| 日本免费一区二区在线观看| 全部免费国产潢色一级| 337P日本欧洲亚洲大胆艺术图 | 无码一区二区三区免费| 无码欧精品亚洲日韩一区| 色天使亚洲综合一区二区| 国产一级理论免费版| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产人妖ts在线观看免费视频| 精品成人一区二区三区免费视频| 日韩精品亚洲专区在线观看| 一级毛片大全免费播放下载 | 久久青草免费91观看| 亚洲国产日韩在线成人蜜芽 | 麻豆69堂免费视频| 免费视频专区一国产盗摄| 7777久久亚洲中文字幕| 午夜国产羞羞视频免费网站| 丝瓜app免费下载网址进入ios| 亚洲免费在线视频| 大地资源二在线观看免费高清| 亚洲1区2区3区精华液| 亚洲无人区午夜福利码高清完整版| 99精品免费观看| 九月丁香婷婷亚洲综合色| 99久久免费国产香蕉麻豆| 亚洲日本国产精华液| 国产精品二区三区免费播放心| 国产在线精品一区免费香蕉| 亚洲av无码不卡久久| 中文字幕人成人乱码亚洲电影 |