Dev@Free

          zJun's Tech Weblog

          [Unix] vi基本操作方法

          一 vi的操作模式
          vi提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode)。在輸入模式下,用戶可輸入文本資料。在指令模式下,可進(jìn)行刪除、修改等各種編輯動作。

          在輸入模式下,按Esc鍵切換到指令模式下。
          在指令模式下,按輸入指令(i、a、o等)進(jìn)入輸入模式。


          二 進(jìn)入vi

          $?vi??filename

          直接鍵入“vi + 所要編輯的文件名”,即可對指定的文件進(jìn)行編輯。
          如果指定的文件為新文件,則提示:“New file”,否則顯示該文件的當(dāng)前內(nèi)容。

          $?view?filename

          以只讀方式打開文件filename

          三 指令模式
          3.1 進(jìn)入輸入模式

          ?a?????在當(dāng)前游標(biāo)之后輸入
          ?A?????在當(dāng)前行之末輸入
          ??i?????在當(dāng)前游標(biāo)之前輸入
          ??I?????在當(dāng)前行之首輸入
          ?o?????在當(dāng)前行之下新增一行,并在新增行輸入
          ?O?????在當(dāng)前行之上新增一行,并在新增行輸入
          輸入結(jié)束后,按Esc鍵退出輸入模式


          3.2 游標(biāo)移動

          ?h?向左移動一個字元
          ?l?向右移動一個字元
          ?j?向下移動一個字元
          ?k?向上移動一個字元
          ?b?左移一個單詞,至詞首
          ?w?右移一個單詞,至詞尾
          ?0
          ?移到當(dāng)前行行首
          ?$?移到當(dāng)前行行尾
          ?+?移至下一行的行首
          ?-?移至上一行的行首
          ?H?移至視窗的第一行
          ?M?移至視窗的中間一行
          ?L?移至視窗的最后一行
          ?G?移至該文件的最后一行
          ?nG?移至該文檔的第n行
          ?n+?下移n行
          ?n-?上移n行

          3.3 視窗移動

          ??<Ctrl>?+?f?視窗下卷一頁
          ??<Ctrl>?+?b?視窗上卷一頁
          ? ?<Ctrl>?+?d?視窗下卷半頁
          ?<Ctrl>?+?u?視窗上卷半頁
          ???<Ctrl>?+?e?視窗下卷一行
          ???<Ctrl>?+?y?視窗上卷一行

          3.4 刪除操作

          ?x?刪除游標(biāo)所在字元
          ?X?刪除游標(biāo)前一字元
          ?dw?從游標(biāo)當(dāng)前位置開始向后刪除一個單詞
          ?db?從游標(biāo)當(dāng)前位置開始向前刪除一個單詞
          ?d0?從行首刪除至當(dāng)前游標(biāo)位置
          ?d$?從游標(biāo)當(dāng)前位置刪除至行尾
          ?dd?刪除游標(biāo)所在行
          ?D?同d$

          3.5 修改操作

          ?s?修改游標(biāo)所在字元,修改完成后按Esc鍵結(jié)束
          ?S?修改整行內(nèi)容,修改完成后按Esc鍵結(jié)束
          ?r?替換當(dāng)前游標(biāo)所在字元
          ?R?進(jìn)入替換狀態(tài),直至按Esc鍵結(jié)束
          ?cw?修改一個單詞(從游標(biāo)位置至詞尾)
          ?cb?修改一個單詞(從詞首至游標(biāo)位置)
          ?cc?修改整行內(nèi)容,完成后按Esc鍵結(jié)束,同S
          ?c0?修改行首至游標(biāo)位置的內(nèi)容
          ?c$?修改游標(biāo)位置至行尾的內(nèi)容
          ?~?游標(biāo)所在字元大小寫切換

          3.6 指令重復(fù)
          在指令模式中,可在指令前面加入一個數(shù)字n,則該指令會重復(fù)執(zhí)行n次。常用的重復(fù)操作有:

          ?nx?刪除n個字元
          ?ndd?刪除n行
          ?ns?修改n個字元

          3.7 取消前一動作(Undo)

          ?u?撤消上一指令的結(jié)果

          3.8 查找字符串

          ?/字符串?從當(dāng)前游標(biāo)向后查找該字符串
          ??字符串?從當(dāng)前游標(biāo)向前查找該字符串
          ?n?從當(dāng)前游標(biāo)向后查找下一個字符串
          ?N?從當(dāng)前游標(biāo)向前查找下一個字符串

          3.9 查看編輯狀況

          ?<Ctrl>?+?g?顯示正在編輯的文件名、當(dāng)前游標(biāo)所在行數(shù)、文件總行數(shù)、文件是否被修改


          四 保存與退出

          ?:w?保存,但不退出
          ?:wq?保存并退出
          ?:x?同:wq
          ?:q?退出,如果當(dāng)前文件沒有保存,禁止退出
          ?:q!?不保存退出
          ?:w?file1?將內(nèi)容保存至文件file1中,注意:此時編輯的仍為原文件
          ?:w!?file1?將內(nèi)容覆蓋保存至文件file1中,如文件file1存在,:w?file1將禁止執(zhí)行

          ?

          五 環(huán)境設(shè)置

          ?:set?顯示已設(shè)置的環(huán)境狀況
          ?:set?all?顯示所有的環(huán)境設(shè)置選項(xiàng)
          ?:set?nu?顯示行號
          ?:set?nonu?不顯示行號
          ?:set?ts
          = n?設(shè)置Tab鍵的長度為n

          六 執(zhí)行指令
          以下用具體的數(shù)字為例進(jìn)行介紹,數(shù)字表示行數(shù),游標(biāo)所在行可用“.”代替,文件最后一行可用“$”代替。

          ?: 10 , 20d?刪除第10行至第20行的內(nèi)容
          ?:10d?刪除第10行的內(nèi)容
          ?:%d?刪除全部內(nèi)容
          ?:
          10 ,
          20co30?將第10行至第20行的內(nèi)容復(fù)制到第30行之后
          ?:
          10 ,
          20mo30?將第10行至第20行的內(nèi)容移動到第30行之后
          ?:
          1 ,
          $s/old/new?將第1行至最后一行中的old替換成new
          ?:
          1 ,
          $s/^/new?將第1行至最后一行的內(nèi)容前面插入new
          ?:
          10 ?將游標(biāo)移至第10行

          七 重復(fù)指令

          ?.?重復(fù)上一條指令


          八 切換到shell狀態(tài)

          ?:sh?切換到shell狀態(tài),exit返回

          ?

          posted on 2006-07-05 17:15 zJun's帛羅閣 閱讀(2765) 評論(1)  編輯  收藏

          評論

          # re: [Unix] 基本操作方法 2007-02-21 09:17

          我想知道UNIX中基本操作  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統(tǒng)計(jì)

          常用鏈接

          留言簿(15)

          隨筆分類

          隨筆檔案

          相冊

          收藏夾

          博客

          文檔

          站點(diǎn)

          論壇

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 崇左市| 易门县| 荆州市| 济源市| 大方县| 蓝田县| 青海省| 邛崃市| 洪江市| 九江县| 建昌县| 南涧| 兴仁县| 永修县| 桦甸市| 澄城县| 莆田市| 同德县| 浠水县| 凤山市| 中牟县| 双柏县| 宁晋县| 平潭县| 江口县| 五原县| 宜黄县| 赤壁市| 札达县| 嘉黎县| 图片| 陵川县| 常州市| 克山县| 绍兴县| 榆树市| 星座| 堆龙德庆县| 甘德县| 社旗县| 密云县|