隨筆 - 6  文章 - 5  trackbacks - 0
          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          文件編輯器 vi


          摘要:vi 編輯器是最常用的文檔創建和編輯工具,初學者應該學會簡單應用vi ,學會在vi 中做簡單的修改、刪除、插入、搜索及替換作業;如果您是新手,不妨看看本文,或許這篇文檔能讓您在最短的時間內學會vi的簡單操作;


          正文
          +++++++++++++++++++++++++++++++++++++

          1、關于文本編輯器;

          文本編輯器有很多,比如圖形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的編輯器有vi、vim(vi的增強版本)和nano ... ... vi和vim是我們在Linux中最常用的編輯器。我們有必要介紹一下vi(vim)最簡單的用法,以讓Linux入門級用戶在最短的時間內學會使用它。

          nano 工具和DOS操作系統下的edit操作相似,使用簡單,我們不作介紹了,如果您有興趣,不妨嘗試一下;


          2、vi 編輯器;

          為什么要學會簡單應用vi

          vi或vim是Linux最基本的文本編輯工具,vi或vim雖然沒有圖形界面編輯器那樣點鼠標的簡單操作,但vi編輯器在系統管理、服務器管理 中,永遠不是圖形界面的編輯器能比的。當您沒有安裝X-windows桌面環境或桌面環境崩潰時,我們仍需要字符模式下的編輯器vi;

          vi或vim 編輯器在創建和編輯簡單文檔最高效的工具;


          3、vi 編輯器的使用方法;


          3.1 如何調用vi ;

          [root@localhost ~]# vi filename

          3.2 vi 的三種命令模式;
          Command(命令)模式,用于輸入命令;
          Insert(插入)模式,用于插入文本;
          Visual(可視)模式,用于視化的的高亮并選定正文;


          3.3 文件的保存和退出;

          Command 模式是vi或vim的默認模式,如果我們處于其它命令模式時,要通過ESC鍵切換過來。

          當我們按ESC鍵后,接著再輸入:號時,vi會在屏幕的最下方等待我們輸入命令;

          :w 保存;
          :w filename 另存為filename;
          :wq! 保存退出;
          :wq! filename 注:以filename為文件名保存后退出;
          :q! 不保存退出;
          :x 應該是保存并退出 ,功能和:wq!相同


          3.4 光標移動;

          當我們按ESC進入Command模式后,我們可以用下面的一些鍵位來移動光標;

          j 向下移動一行;
          k 向上移動一行;
          h 向左移動一個字符;
          l 向右移動一個字符;
          ctrl+b 向上移動一屏;
          ctrl+f 向下移動一屏;
          向上箭頭 向上移動;
          向下箭頭 向下移動;
          向左箭頭 向左移動;
          向右箭頭 向右移動;

          我們編輯一個文件時,對于 j、k、l和h鍵,還能在這些動作命令的前面加上數字,比如 3j,表示向下移動3行。


          3.5 插入模式(文本的插入);

          i 在光標之前插入;
          a 在光標之后插入;
          I 在光標所在行的行首插入;
          A 在光標所在行的行末插入;
          o 在光標所在的行的上面插入一行;
          O 在光標所在的行的下面插入一行;
          s 刪除光標后的一個字符,然后進入插入模式;
          S 刪除光標所在的行,然后進入插入模式;


          3.6 文本內容的刪除操作;

          x 一個字符;
          #x 刪除幾個字符,#表示數字,比如3x;
          dw 刪除一個單詞;
          #dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞;
          dd 刪除一行;
          #dd 刪除多個行,#代表數字,比如3dd 表示刪除光標行及光標的下兩行;
          d$ 刪除光標到行尾的內容;
          J 清除光標所處的行與上一行之間的空格,把光標行和上一行接在一起;


          3.7 恢復修改及恢復刪除操作;

          u 撤消修改或刪除操作;

          按ESC鍵返回Command(命令)模式,然后按u鍵來撤消刪除以前的刪除或修改;如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;


          3.8 可視模式;

          在最新的Linux發行版本中,vi提供了可視模式,因為這個功能是vim才有的。如果您用的vi沒有這個功能,就換成vim就有了。打開可視模式,按ESC鍵,然后按v就進入可視模式;

          可視模式為我們提供了極為友好的選取文本范圍,以高亮顯示;在屏幕的最下方顯示有;

          -- 可視 --

          --VISUAL--

           

          進入可視模式,我們就可以用前面所說的命令行模式中的光標移動指令,可以進行文本范圍的選取。

          選取文本范圍有何用?

          我們可以對某部份刪除作業,按d鍵就刪除了我們選中的內容。
          選中內容后,我們按y就表示復制;按d表示刪除;

          值得一提是的刪除的同時,也表示復制。我們返回到命令模式,然后移動光標到某個位置,然后按shift+p鍵,就把剛才刪除的內容貼上了。我們先在這里提一句,在后文,我們還得詳細說說。

          退出可視模式,還是用ESC鍵;


          3.9 復制和粘帖的操作;

          其實刪除也帶有剪切的意思,當我們刪除文字時,可以把光標移動到某處,然后按shift+p鍵就把內容貼在原處,然后再移動光標到某處,然后再按p或shift+p又能貼上;

          p 在光標之后粘帖;
          shift+p 在光標之前粘帖

          來舉一例:

          比如我們想把一個文檔的第三行復制下來,然后帖到第五行的后面,我們應該怎么做呢?

          有兩種方法;

          第一種方法:

          先把第三行刪除,把光標移動到第三行處,然后用dd動作,接著再按一下shift+p鍵。這樣就把剛才刪除的第三行帖在原處了。

          接著我們再用k鍵移動光標到第五行,然后再按一下p鍵,這樣就把第三行的內容又帖到第五行的后面了;

          第二種方法;

          進入可視模式,按ESC鍵,然后按v鍵。移動鼠標指針,選中第三行的內容,然后按y鍵復制;再移動指針到第五行,最后按p鍵;

          所以復制和粘貼操作,是命令模式、插入模式及可視模式的綜合運用;我們要學會各種模式之間的切換,要常用ESC鍵;更為重要的學會在命令模式下移動光標;


          3.10 關于行號;

          有時我們配置一個程序運行時,會出現配置文件X行出現錯誤 。這時我們要用到行號相關的操作;


          為所有內容添加行號;

          按ESC鍵,然后輸入:

          :set number

          光標所處位置

          在屏幕的右下角,有類似如下的;

                    57,8 27%

          在這之中,57表示第57行,8表示第8個字符;


          3.11 查找和替換功能;


          3.11.1 查找;

          首先,我們要進入ESC鍵,進入命令模式;我們輸入/或?就進入查找模式了;

          /SEARCH 注:正向查找,按n鍵把光標移動到下一個符合條件的地方;
          ?SEARCH 注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的

          舉一例:比如我想在一個文件中找到swap單詞,我應該如下做;

          首先按ESC鍵,進入命令模式,然后輸入;

          /swap

          ?swap


          3.11.2 替換;

          按ESC鍵進入命令模式;

          :s /SEARCH/REPLACE/g 注:把當前光標所處的行中的SEARCH單詞,替換成REPLACE,并把所有SEARCH高亮顯示;
          :%s /SEARCH/REPLACE 注:把文檔中所有SEARCH替換成REPLACE;
          :#,# s /SEARCH/REPLACE/g 注:#號表示數字,表示從多少行到多少行,把SEARCH替換成REPLACE;

          注:在這之中,g表示全局查找;我們注意到,就是沒有替換的地方,也會把SEARCH高亮顯示;

          舉例說明:

          比如我們有一篇文檔要修改;

          我們把光標所在的行,把所有單詞the,替換成THE,應該是:

          :s /the/THE/g

          我們把整篇文檔的所有的the都替換成THE,應該是:

          :%s /the/THE

          我們僅僅是把第1行到第10行中的the,替換成THE,應該是;

          :1,10 s /the/THE/g


          4、關于本文;

          我寫本文的目的是讓新手在最短的時間內用vi或vim創建、編輯和修改文件,所以說這篇文檔并不是大而全的vi手冊。如果把vi所有的功能都說全了,至少得寫一本千頁的手冊;本也沒有涉及更為高級的vi用法。

          posted on 2008-09-17 13:52 狐貍貝貝 閱讀(764) 評論(0)  編輯  收藏 所屬分類: LINUX
          主站蜘蛛池模板: 万年县| 湘潭市| 咸阳市| 万年县| 突泉县| 育儿| 聂荣县| 尚志市| 八宿县| 阿克陶县| 罗山县| 开化县| 湖南省| 申扎县| 思南县| 娱乐| 洞头县| 通州市| 高安市| 山东省| 朔州市| 明星| 南充市| 武冈市| 建德市| 凉城县| 西贡区| 泸定县| 平顶山市| 海阳市| 台安县| 桑日县| 抚远县| 宜兰县| 桂阳县| 双江| 哈尔滨市| 涪陵区| 民丰县| 朔州市| 磴口县|