[Linux] vim操作

vim處理模式

vim 有三種處理模式:正常模式/一般模式,命令行模式,插入模式/編輯模式。

正常模式/一般模式:在正常模式下,可以使用快捷鍵

插入模式/編輯模式:可以輸入i,I,o,O,a,A,r,R進入插入模式

命令行模式:完成讀取,存儲,替換,離開,顯示行號等操作。

vim鍵盤圖:

正常模式/一般模式快捷按鍵:

1.移動光標

h 或 向左箭頭鍵(←)? ????光標向左移動一個字符

j 或 向下箭頭鍵(↓)? ? ? ? 光標向下移動一個字符

k 或 向上箭頭鍵(↑)? ?????光標向上移動一個字符

l 或 向右箭頭鍵(→)? ?????光標向右移動一個字符

如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵,按下動作即可。

[Ctrl] + [f]????????屏幕『向下』移動一頁,相當于 [Page Down]按鍵 (常用)

[Ctrl] + [b]????????屏幕『向上』移動一頁,相當于 [Page Up] 按鍵 (常用)

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

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

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

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

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

數字『 0 』 或功能鍵[Home]? ? ? ? ? ? 移動到這一行的最前面字符處 (常用)

$ 或功能鍵[End]????????????????????????????移動到這一行的最后面字符處(常用)

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

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

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

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

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

gg? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?移動到這個檔案的第一行

n<Enter>????????????????????????????n 為數字。光標向下移動 n 行(常用)

2.搜索替換

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

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

n? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?n 是英文按鍵。代表重復前一個搜尋的動作。

N ????????????????????????????????????N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。

: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 .且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代.

3.粘貼與復制

x, X????????????????在一行字當中,x 為向后刪除一個字符 (相當于 [del] 按鍵), X 為向前刪除一個字符(相當于 [backspace] 亦即是退格鍵)

nx????????????????????n 為數字,連續向后刪除 n 個字符。

dd????????????????????刪除游標所在的那一整行

ndd????????????????????n 為數字。刪除光標所在的向下 n 行。

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

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

d$????????????????????刪除游標所在處,到該行的最后一個字符

d0?[數字0]? ? ? ?刪除游標所在處,到該行的最前面一個字符

yy????????????????????????復制游標所在的那一行

nyy????????????????????n 為數字。復制光標所在的向下 n 行

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

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

y0????????????????????????復制光標所在的那個字符到該行行首的所有數據

y$????????????????????????復制光標所在的那個字符到該行行尾的所有數據

p, P????????????????????p 為將已復制的數據在光標下一行貼上,P 則為貼在游標上一行

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

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

u????????????????????????復原前一個動作

[Ctrl]+r? ? ? ? ? ? ? 重做上一個動作。

編輯模式快捷鍵:

i, I????????????????進入輸入模式(Insert mode):i 為『從目前光標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』

a, A? ? ? ? ? ? ? 進入輸入模式(Insert mode):a 為『從目前光標所在的下一個字符處開始輸入』, A 為『從光標所在行的最后一個字符處開始入』。

o, O? ? ? ? ? ? 進入輸入模式(Insert mode):o 為『在目前光標所在的下一行處輸入新的一行』; O 為在目前光標所在處的上一行輸入新的一行.

r, R????????????進入取代模式(Replace mode):r 只會取代光標所在的那一個字符一次;R會一直取代光標所在的文字,直到按下 ESC 為止;

[Esc]????????????退出編輯模式,回到一般模式中

命令行模式:

1.指令行的存儲:

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

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

:q????????????????離開 vi

:q!? ? ? ? ? ? 強制離開不儲存檔案。

:wq????????????儲存后離開,若為 :wq! 則為強制儲存后離開?

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

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

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

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

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

『:! ls /home』????????????????????即可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息!

2.vim環境的變更:

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

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372

推薦閱讀更多精彩內容

  • 一、Python簡介和環境搭建以及pip的安裝 4課時實驗課主要內容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,783評論 0 10
  • vi/vim是什么? 是個編輯器。 第一部分:一般模式。 移動光標的方法 h 或 向左箭頭鍵(←) 光標向左移動一...
    溺象海閱讀 241評論 0 0
  • 前言 使用vim編輯器理由在于 unix like系統 必備的內嵌文本編輯器也可以說是程序開發工具, win命令行...
    孫小二wuk閱讀 571評論 0 0
  • Linux下有很多文本編輯器,其中系統(不管哪個分支)都會自帶nano和vim這兩個最基本的編輯器。vim相當于v...
    vic_wei7閱讀 18,282評論 0 5
  • 1、原來一個人住在心里是這么傷心 2、原來一個人真的可以做到心里淚如雨下,而眼睛迎人而笑 3、原來愛情需要面包是對...
    花蜜時光閱讀 165評論 0 1