vi 常用命令行
vi 常用命令行
1.vi 模式
? a) 一般模式: vi 處理文件時,一進入該文件,就是一般模式了.
? b) 編輯模式:在一般模式下可以進行刪除,復制,粘貼等操作,卻無法進行編輯操作。等按下‘i,I,o,O,a,A,r,R’等
???????? ?字母之后才能進入編輯模式.通常在linux中,按下上述字母時,左下方會出現'INSERT'或者‘REPLACE’字樣,才可以
??????? ? 輸入任何文字到文件中.要回到一般模式,按下[ESC]鍵即可.
? c) 命令行模式:在一般模式中,輸入“: 或者/或者?”,即可將光標移動到最下面一行,在該模式下,您可以搜索數據,而且讀取,
??? 存盤,大量刪除字符,離開vi,顯示行號等操作.
2.vi 常用命令匯總:
?2.1 一般模式
?? a) 移動光標:?
???? --> 上下左右方向鍵 ↑↓← →
???? --> 翻頁 pagedown / pageup 按鍵
???? --> 數字 0 : 將光標移動到當前行首
??? ?--> $ : 將光標移動到當前行尾
??? ?--> G :?????? 移動到這個文件的最后一行? nG :? n 為數字,移動到這個文件的第n行.
???? --> gg:????? 移動到這個文件的第一行 相當于 1G
????
?? b)? 搜索與替換
???? --> /word :? 從光標開始,向下查詢一個名為word的字符串。
???? --> :n1、n2s/word1/word2/g : n1 與n2 為數字.在第n1與n2行之間尋找word1這個字符串,
??????????? 并將該字符串替換為word2。
??? ?--> :1、$s/word1/word2/g : 從第一行到最后一行尋找word1字符串,并將該字符串替換為word2
???? --> :1、$s/word1/word2/gc: 從第一行到最后一行尋找word1字符串,并將該字符串替換為word2。
????????? 并且在替換之前顯示提示符給用戶確認(conform)是否需要替換。
? ?c) 刪除,復制,粘貼
??? ?--> x,X? : 在一行中,x為向后刪除一個字符(相當于del鍵),X為向前刪除一個字符(相當于backspace鍵)。
???? --> dd?? : 刪除光標所在的那一整行。
???? --> ndd? : n 為數字。從光標開始,刪除向下n列。
??? ?--> yy?? : 復制光標所在的那一行。???
??? ?--> nyy? : n為數字。復制光標所在的向下n行。
??? ?--> p,P? : p 為將已復制的數據粘貼到光標的下一行,P則為貼在光標的上一行。
???? --> u??? : 復原前一個操作
??? ?--> CTRL + r : 重做上一個操作。
???? --> 小數點'.': 重復前一個動作。
?2.2? 編輯模式:
?? a) i, I : 在光標所在處插入輸入文字,已存在的文字向后退。i 為‘從當前光標所在處插入’,I 為‘在當前所在行的一個非空格符處開始插入’。
? ?b) a, A : a 為‘從當前光標所在處的下一個字符開始插入’。A 為‘從光標所在行的最后一個字符處開始插入’。
?? c) o,O? : 這是英文o的大小寫。o為‘在當前光標所在行的下一行處插入新的一行’。O表示‘在當前光標所在行的上一行插入新的一行’。
?? d) r,R? : 替換:r 會替換光標所在的那一個字符。 R : 會一直替換光標所在的字符,直到按下esc 鍵為止。
?? e) ESC? : 進入一般模式。
?2.3 命令模式:
?? a) :w?? : 將編輯的數據寫入硬盤
? ?b) :q?? : 離開vi
? ?c) :q!? : 強制離開,不存儲
?? d) :wq? : 存儲后離開
?? e) :wq! : 強制存儲后離開
3. vim 附加命令行
?3.1 塊選擇(visual block)
?? v??字符選擇,將光標經過的地方反白顯示
?? V??行選擇,會將光標經過的行反白選擇
?? ctrl + v?塊選擇,可以用長方形的方式選擇數據
?? y??復制反白的地方
??? d??將反白的地方刪除掉
?3.2 多文件編輯
? ?:n??編輯下一個文件
???? :N??編輯上一個文件
??:files??列出當前vim 打開的所有文件
?3.3 多窗口功能
???? :sp 【filename】打開一個新窗口,如果加filename,表示在新窗口打開一個新文件
???? 否則表示兩個窗口為同一個文件內容
???? ctrl+wj??先按下ctrl ,再按下w后,放開所有按鍵,然后按下j,則光標可移動到下方的窗口
???? ctrl+wk??同上,不過光標移動到上面的窗口
???? ctrl+wq??其實就是:q結束離開。
總結
- 上一篇: Eclipse中要导出jar包中引用了第
- 下一篇: sizeof(string)