Dev@Free

          zJun's Tech Weblog

          [Unix] vi基本操作方法

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

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


          二 進(jìn)入vi

          $?vi??filename

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

          $?view?filename

          以只讀方式打開(kāi)文件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)移動(dòng)

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

          3.3 視窗移動(dòng)

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

          3.4 刪除操作

          ?x?刪除游標(biāo)所在字元
          ?X?刪除游標(biāo)前一字元
          ?dw?從游標(biāo)當(dāng)前位置開(kāi)始向后刪除一個(gè)單詞
          ?db?從游標(biāo)當(dāng)前位置開(kāi)始向前刪除一個(gè)單詞
          ?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?修改一個(gè)單詞(從游標(biāo)位置至詞尾)
          ?cb?修改一個(gè)單詞(從詞首至游標(biāo)位置)
          ?cc?修改整行內(nèi)容,完成后按Esc鍵結(jié)束,同S
          ?c0?修改行首至游標(biāo)位置的內(nèi)容
          ?c$?修改游標(biāo)位置至行尾的內(nèi)容
          ?~?游標(biāo)所在字元大小寫切換

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

          ?nx?刪除n個(gè)字元
          ?ndd?刪除n行
          ?ns?修改n個(gè)字元

          3.7 取消前一動(dòng)作(Undo)

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

          3.8 查找字符串

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

          3.9 查看編輯狀況

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


          四 保存與退出

          ?:w?保存,但不退出
          ?:wq?保存并退出
          ?:x?同:wq
          ?:q?退出,如果當(dāng)前文件沒(méi)有保存,禁止退出
          ?:q!?不保存退出
          ?:w?file1?將內(nèi)容保存至文件file1中,注意:此時(shí)編輯的仍為原文件
          ?: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?顯示行號(hào)
          ?:set?nonu?不顯示行號(hào)
          ?:set?ts
          = n?設(shè)置Tab鍵的長(zhǎng)度為n

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

          ?: 10 , 20d?刪除第10行至第20行的內(nèi)容
          ?:10d?刪除第10行的內(nèi)容
          ?:%d?刪除全部?jī)?nèi)容
          ?:
          10 ,
          20co30?將第10行至第20行的內(nèi)容復(fù)制到第30行之后
          ?:
          10 ,
          20mo30?將第10行至第20行的內(nèi)容移動(dòng)到第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帛羅閣 閱讀(2777) 評(píng)論(1)  編輯  收藏

          評(píng)論

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

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


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


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

          導(dǎo)航

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

          統(tǒng)計(jì)

          常用鏈接

          留言簿(15)

          隨筆分類

          隨筆檔案

          相冊(cè)

          收藏夾

          博客

          文檔

          站點(diǎn)

          論壇

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 天柱县| 红安县| 四川省| 鸡泽县| 怀安县| 和静县| 屏南县| 丹棱县| 泰安市| 登封市| 南部县| 康马县| 兴山县| 巨野县| 古丈县| 保康县| 淮南市| 教育| 镇坪县| 琼结县| 新营市| 平罗县| 定州市| 江川县| 丰镇市| 宁南县| 兰溪市| 芷江| 衡南县| 裕民县| 平原县| 邯郸县| 赣州市| 仲巴县| 农安县| 山东省| 越西县| 大英县| 察隅县| 循化| 宜都市|