歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

vi的簡單用法

  進入vi後 有兩種模式 1.編輯模式 2.命令模式 進入vi後默認是命令模式,所以不要亂按 就會得到dd的警告聲,要輸入文字的話 請按a後i 就可以開始輸入文字拉! 輸入結束後 請按esc鍵回命令模式 輸入q就是退出 輸入wq就是存盤後退出 輸入q!放棄存盤強行退出 . Vi 的使用 Vi 已經是 Unix 系統中標准的文字編輯器, 每個網管人員都必須熟悉它, 因為你會在維護系統時常常遇到它. Vi 對初學者而言, 第一印象總是不好, 覺得它難用. 其實, 大家在用慣了辦公室軟件之後, 再回過頭來用這些未見過的怪物, 難免無法適應, 這是很正常的. 但別忘了, 各位都將是學校中重要網管的人員,您的角色不再是純粹的使用者, 而是一位面對復雜網絡的管理者及問題解決者, 你必須能夠親手操控你的系統, 設定你的系統, 調整你的系統, 而這個過程, 你就不得不去面對 Vi. 不要拿 Word 的使用習慣來挑剔 Vi, 它們的作用方向不同, 風格也不同, 一旦您能上手, 也許你會喜歡上它. Vi 是網絡管理人員的標准左右手. So, 打開你的心, 接受會比反彈更有收獲. 二. 開啟檔案, 關閉檔案 vi 檔名 開啟檔案 : 進入命令列的方法 q 離開 (命令列) wq 存盤然後離開 (命令列) q! 放棄存盤, 強迫離開 (命令列) ZZ 存盤然後離開 (不在命令列使用) :e 檔名 在 Vi 中開啟檔案 三. Vi 的操作模式: Vi 有二種主要的操作模式, ESC 鍵為單向的切換鍵(由本文輸入模式回到編輯命令模式) 編輯命令模式 : 要 vi 做一些特定目的的動作. 如插入,附加,取代,修改,刪除,移動光標,搜尋等等. 若是存盤等動作, 則需在命令列中下達, 欲切換至命令列, 需先按 : 本文輸入模式 : 在此模式下, 任何字符, 皆被視為輸入的數據. 一開始進入 Vi 之後, 即進入編輯命令模式, 你輸入的每一個字符, 皆被預視為一個指令. 有效的指令會被接受, 若是無效的指令, 會產生 beep beep 聲, 以示警告. 若想做輸入的動作, 必須切換為本文輸入模式, 切換的方法, 只要單按一個特殊意義的字符鍵即可, 如下所示: 按 i 或 I 插入狀態 按 a 或 A 附加狀態 按 R 取代狀態R 會進行連續字符取代 按 s 或 S 刪除一個字符;刪除光標所在那一列 按 cw, c2b, c$, c0 修改狀態 按 o 或 O 新增空白列 你不必一下子全用上, 只要會 i, a, o 這個三個模式即可勝任愉快, 因為大部份時候, 你也只用這三個. OK, 現在你可以試著在本文輸入模式下, 鍵入一些資料看看. 然後, 按 ESC 切換回編輯命令模式. 四. 移動光標: Vi 為了適用於各種不同的終端機模式, 因此以字鍵的方式來操控光標. k j h l 上 下 左 右 Enter 換列 w b 往前一個 word ; 倒退一個 word 0 $ 至該列開頭 ; 至該列尾端 + - 往下一列; 往上一列 請記住一個要訣: 在 Vi 中, 大部份的命令都可以在其前面加上數字, 該數字表示重復該命令的次數. 例如: 8l 表示往右移動 8 個字符, 3w 表示往前移動三個 word, 2b 表示倒退 2 個 word 注: word 的定義, 連續英數字元形成一個 word, 而其它特殊符號則每一個字符便是一個 word(除非連續特殊字符), 例如: --classify 中含有 2 個 word, 一個是 -- ; 一個是 classify 而 -x, 則有 3 個 word. 在特殊的終端機模式下, 方向鍵也是可以使用的. 如 Linux 或 vt100. 其實大部份時候, 你仍可以保有使用方向鍵的習慣. 但大概只有 local 下才能使用 PgUp , PgDn, End, Home 等鍵喔! 不過, 若你所使用的終端機模式不支持方向鍵, 那麼上表中的按鍵, 就相當重要了. 五. 卷頁: ^f 往下一頁 (forward) ^b 往上一頁 (before) ^d 往下半個屏幕(down) ^u 往上半個屏幕(up) 六. 跳列: 你可以指定跳至某一列位置. 跳動之前, 先查看一下目前所在列數是多少. ^g 可以顯示目前的位置, 如: "ls.txt" line 53 of 264 --20%-- col 16-23 上面表示, 目前是在第 53 列, 全部共有 264 列, 占該檔百分之20的位置, 目前的光標, 實際是在第23行, 但只算成第16行, 因為中間有使用 tab 鍵. 80G 或 80gg 跳至第 80 列 G 跳至文件尾


gg 跳至文件頭 七. 刪除: (但不會進入本文輸入模式) x 刪除一個字符 dd 刪除一行 r 取代一個字符 以上皆針對光標目前的所在位置產生作用. 還有 dw, db, de, d0, d$ 等命令, 但你不須一下子全用上. 上表中這三個夠用了. 記住一個要訣: Vi 的命令繁多, 但你真正用上手的不必多, 而且這些也就夠了. 八. undo (回復動作): 若你對上一個動作反悔了, 可以使用 undo 的功能: u 取消上一個動作所產生的改變 U 取消光標所在那一列所有的改變 :e! 取消所有的改變, 回復至未修改之前 九. 關鍵詞搜尋/取代: / 關鍵詞 往下搜尋關鍵詞 ? 關鍵詞 往上搜尋關鍵詞 n 重復搜尋命令(不管往下或往上) N 和 n 相反方向 cw字符串 以該字符串取代原有的關鍵詞 n. 繼續取代該字符串的動作 %s/目標/取代/g 將目標字符串全換成取代字符串 十. 選取、復制與搬移: Y 或 yy 選取光標所在那一列 5Y 或 5yy 選取光標列所在共5列(5 只是一個例子, 可改用其它數字) p 將選取的內容, 復制至光標之後 P 將選取的內容, 復制至光標之前 cw, x, dd 等刪除命令 會將被刪除的內容放入 buffer 中, 配合 p 或 P 即可做出搬移的效果. 十一. 暫時跳出 Vi: 在編輯過程中, 你可能想要執行其它命令, 方法如下: :! 命令 執行該令命 :sh 暫時跳出 Vi, 欲回 Vi 按 ^d 或 exit __________________



Copyright © Linux教程網 All Rights Reserved