轉載 Vim 基本用法

          這是我總結的一些基本用法,可能對初用者會有幫助,獨樂樂不如眾樂樂,是吧!

          說明:以下黑色為vi和vim均有的一般功能,而紅色為Vim(Vi Improved)所特有功能。Vim一般的Unix和Linux下均有安裝。
          ? 三種狀態
          Command: 任何輸入都會作為編輯命令,而不會出現在屏幕上,任何輸入都引起立即反映
          Insert: 任何輸入的數據都置于編輯寄存器,按ESC,可跳回command方式
          Escape: 以“:”或者“/”為前導的指令,出現在屏幕的最下一行,任何輸入都被當成特別指令。
          ? 離開vi
          :q! 離開vi,并放棄剛在緩沖區內編輯的內容。
          :wq 將緩沖區內的資料寫入磁盤中,并離開vi。
          :x 同wq。
          (注意—— :X 是文件加密,一定要與:x存盤退出相區別)
          ? 進入輸入模式
          a (append) 由游標之后加入資料。
          A 由該行之末加入資料。
          i (insert) 由游標之前加入資料。
          I 由該行之首加入資料。
          o (open) 新增一行於該行之下供輸入資料之用。
          O 新增一行於該行之上供輸入資料之用。
          ? 刪除與修改
          x 刪除游標所在該字元。
          X 刪除游標所在之前一字元。
          r 用接於此指令之后的字元取代(replace)游標所在字元。如:ra將游標所在字元以 a 取代之。
          R 進入取代狀態,直到《ESC》為止。
          s 刪除游標所在之字元,并進入輸入模式直到《ESC》。
          S 刪除游標所在之該行資料,并進入輸入模式直到《ESC》。
          ? 光標的移動
          m<a-z> 設置書簽<a-z>
          ‘<a-z> 移至書簽<a-z>處
          0 移至該行之首
          $ 移至該行之末。
          e 移動到下個字的最後一個字母
          w 移動到下個字的第一個字母。
          b 移動到上個字的第一個字母。
          ^ 移至該行的第一個字元處。
          H 移至視窗的第一行。
          M 移至視窗的中間那行。
          L 移至視窗的最后一行。
          G 移至該文件的最后一行。
          + 移至下一列的第一個字元處。
          - 移至上一列的第一個字元處。
          :n 移至該文件的第 n 列。
          n+ 移至游標所在位置之后的第 n 列。
          n- 移至游標所在位置之前的第 n 列。
          <Ctrl><g> 顯示該行之行號、文件名稱、文件中最末行之行號、游標所在行號占總行號之百分比。

          (Vim) 光標移動基本用法小解:
          (這只要組合上邊的功能就可以明白了,不用再一一講解了吧!)
          ge b w e
          ← ← ---→ --→
          This is-a line, with special/separated/words (and some more).
          ←- ←-- -----------------→ ---→
          GE B W E

          ? 視窗的移動
          <Ctrl><f> 視窗往下卷一頁。
          <Ctrl><b> 視窗往上卷一頁。
          <Ctrl><d> 視窗往下卷半頁。
          <Ctrl><u> 視窗往上卷半頁。
          <Ctrl><e> 視窗往下卷一行。
          <Ctrl><y> 視窗往上卷一行。
          ? 剪切、復制、刪除
          Operator + Scope = command
          ? Operator
          d 剪切
          y 復制。
          p 粘帖,與 d 和 y 配和使用。可將最后d或y的資料放置於游標所在位置之行列下。
          c 修改,類似delete與insert的組和。刪除一個字組、句子等之資料,并插入新建資料。
          ? Scope
          e 由游標所在位置至該字串的最后一個字元。
          w 由游標所在位置至下一個字串的第一個字元。
          b 由游標所在位置至前一個字串的第一個字元。
          $ 由游標所在位置至該行的最后一個字元。
          0 由游標所在位置至該行的第一個字元。
          ? 整行動作
          dd 刪除整行。
          D 以行為單位,刪除游標后之所有字元。
          cc 修改整行的內容。
          yy 使游標所在該行復制到記憶體緩沖區。
          ? 取消前一動作(Undo)
          u 恢復最后一個指令之前的結果。
          U 恢復游標該行之所有改變。
          (vim) u 可以多次撤消指令,一次撤消一個操作,直至本次操作開始為止。
          (vim) Ctrl+r 可以恢復撤消前內容,按多次可恢復多次。
          ? 查找與替換
          /字串 往游標之后尋找該字串。
          ?字串 往游標之前尋找該字串。
          n 往下繼續尋找下一個相同的字串。
          N 往上繼續尋找下一個相同的字串。
          % 查找“(”,“)”,“{”,“}”的配對符。
          s 搜尋某行列范圍。
          g 搜尋整個編輯緩沖區的資料。
          :1,$s/old/new/g 將文件中所有的『old』改成『new』。
          :10,20s/^/ / 將第10行至第20行資料的最前面插入5個空白。
          (vim)
          /字符串 后邊輸入查詢內容可保存至緩沖區中,可用↑↓進行以往內容選擇。
          另外:將光標移動在選定單詞下方按*,則可以選中此單詞作為查詢字符,可以避免輸入一長串字符的麻煩。
          ? (vim) 大小寫替換
          首先用按v開啟選擇功能,然后用↑↓←→鍵來選定所要替換的字符,若是小寫變大寫,則按U;反之按u;
          如果是選擇單詞,則可以在按v后,按w,最后按U/u,這樣就可以將字符隨意的改變大小寫了,而不用刪除后重新敲入。

          ? 資料的連接
          J 句子的連接。將游標所在之下一行連接至游標該行的后面。
          ? 環境的設定
          :set all 可設置的環境變量列表
          :set 環境變量的當前值
          :set nu 設定資料的行號。
          :set nonu 取消行號設定。
          :set ai 自動內縮。
          :set noai 取消自動內縮。
          (vim)
          :set ruler 會在屏幕右下角顯示當前光標所處位置,并隨光移動而改變,占用屏幕空間較小,使用也比較方便,推薦使用。
          :set hlsearch 在使用查找功能時,會高亮顯示所有匹配的內容。
          :set nohlsearch 關閉此功能。
          :set incsearch 使Vim在輸入字符串的過程中,光標就可定位顯示匹配點。
          :set nowrapscan 關閉查找自動回環功能,即查找到文件結尾處,結束查找;默認狀態是自動回環

          ? ex指令
          ? 讀寫資料
          :10,20w test 將第10行至第20行的資料寫入test文件。
          :10,20w>>test 將第10行至第20行的資料加在test文件之后。
          :r test 將test文件的資料讀入編輯緩沖區的最后。
          :e [filename] 編輯新的文件。
          :e! [filename] 放棄當前修改的文件,編輯新的文件。
          :sh 進入shell環境,使用exit退出,回到編輯器中。

          :!cmd 運行命令cmd后,返回到編輯器中。
          ? 刪除、復制及搬移
          :10,20d 刪除第10行至第20行的資料。
          :10d 刪除第10行的資料。
          :%d 刪除整個編輯緩沖區。
          :10,20co30 將第10行至第20行的資料復制至第30行之后。
          :10,20mo30 將第10行至第20行的資料搬移至第30行之后。

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jsufcz/archive/2009/02/11/3875956.aspx

          posted on 2011-05-03 14:25 liujg 閱讀(254) 評論(0)  編輯  收藏


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


          網站導航:
           
          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          boddiy

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 酒泉市| 晋中市| 宁河县| 肃北| 阜南县| 温宿县| 南木林县| 怀来县| 安徽省| 武清区| 承德市| 彭山县| 紫金县| 枣强县| 托克逊县| 襄城县| 潞城市| 平南县| 五常市| 蓝田县| 曲周县| 如东县| 乃东县| 沈阳市| 茶陵县| 广元市| 襄垣县| 黄浦区| 许昌县| 彭山县| 吴堡县| 竹北市| 察哈| 博客| 峨边| 中山市| 湖南省| 山西省| 库尔勒市| 汕头市| 肥城市|