日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vi/vim 三种模式及命令 (简单粗暴,轻松搞懂)

發布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vi/vim 三种模式及命令 (简单粗暴,轻松搞懂) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//+++++++++++++++++++++一般模式(默認模式)++++++++++++++++++++++++++++++


一般模式: 移動光標?


h 或 向左方向鍵 光標向左移動一個字符

?

j 或 向下方向鍵 光標向下移動一個字符?


k 或 向上方向鍵 光標向上移動一個字符


l 或 向右方向鍵 光標向右移動一個字符?


[Ctrl] + [f] 屏幕『向前』移動一頁(常用)?


[Ctrl] + [b] 屏幕『向后』移動一頁(常用)?


[Ctrl] + [d] 屏幕『向前』移動半頁?


[Ctrl] + [u] 屏幕『向后』移動半頁?


+ 光標移動到非空格符的下一列?


- 光標移動到非空格符的上一列


n<space> 按下數字后再按空格鍵,光標會向右移動這一行的 n 個字符。例如 20<space> 則光標會向后面移動 20 個字符距離。?


0 這是數字『 0 』:移動到這一行的最前面字符處(常用)?


$ 移動到這一行的最后面字符處(常用)?


H 光標移動到這個屏幕的最上方那一行?


M 光標移動到這個屏幕的中央那一行?


L 光標移動到這個屏幕的最下方那一行?


G 移動到這個檔案的最后一行(常用)?


nG 移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的 20 行(可配合 :set nu)?


n<Enter> 光標向下移動 n 行(常用)


?

一般模式: 搜尋與取代?


/word 向光標之后尋找一個字符串名稱為 word 的字符串。(常用)?


?word 向光標之前尋找一個字符串名稱為 word 的字符串。?


:n1,n2s/word1/word2/g 在第 n1 與 n2 行之間尋找 word1 這個字符串,并將該字符串取代為 word2 !(常用)?


:1,$s/word1/word2/g 從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !(常用)?


:1,$s/word1/word2/gc 從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !且在取代前顯示提示字符給使用者確認(conform)是否需要取代!(常用)?




一般模式: 刪除、復制與粘貼?


x, X x 為向后刪除一個字符, X 為向前刪除一個字符(常用)?


nx 向后刪除 n 個字符?


dd 刪除游標所在的那一整列(常用)?


ndd 刪除光標所在的向下 n 列,例如 20dd 則是刪除 20 列(常用)?


d1G 刪除游標所在到第一行的所有數據?


dG 刪除游標所在到最后一行的所有數據?


yy 復制游標所在的那一行(常用)?


nyy 復制光標所在的向下 n 列,例如 20yy 則是復制 20 列(常用)?


y1G 復制游標所在列到第一列的所有數據?


yG 復制游標所在列到最后一列的所有數據?


p, P p 為復制的數據在光標下一行貼上,P 則為貼在游標上一行!(常用)?


J 將光標所在列與下一列的數據結合成同一列?


c 重復刪除多個數據,例如向下刪除 10 行,[ 10cj ]?


u 復原前一個動作。(常用)?



//+++++++++++++++++++++++進入編輯模式 ?++++++++++++++++++++++++++++++++++++++?



i, I 插入:在目前的光標所在處插入輸入之文字,已存在的文字會向后退;(常用)?


a, A 增加:由目前光標所在的下一個字開始輸入,已存在的文字會向后退:(常用)?


o, O 插入新的一行:從光標所在的下一行枝行首開始輸入文字;(常用)?


r, R 取代:r 會取代光標所在的那一個字符;R會一直取代光標所在的文字,直到按下 ESC 為止;(常用)?


Esc 退出編輯模式,回到一般模式中(常用)?



//+++++++++++++++++++++ ?尾行模式 (命令模式)+++++++++++++++++++++++++++++++ ?



:w 將編輯的數據寫入硬盤檔案中(常用)?


:w! 若檔案屬性為『只讀』時,強制寫入該檔案?


:q 離開 vi (常用)


:q! 若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案?


:wq 儲存后離開,若為 :wq! 則為強制儲存后離開(常用)?


:e! 將檔案還原到最原始的狀態!?


ZZ 若檔案沒有更動,則不儲存離開,若檔案已經經過更動,則儲存后離開!?


:w [filename] 將編輯的數據儲存成另一個檔案(類似另存新檔)?


:r [filename] 在編輯的數據中,讀入另一個檔案的數據。亦即將 『filename』這個檔案內容加到游標所在行后面?


:set nu 顯示行號,設定之后,會在每一行的前綴顯示該行的行號?


:set nonu 與 set nu 相反,為取消行號!?


n1,n2 w [filename] 將 n1 到 n2 的內容儲存成 filename 這個檔案。?


:! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如[ :! ls /home ]?



總結

以上是生活随笔為你收集整理的vi/vim 三种模式及命令 (简单粗暴,轻松搞懂)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。