柚子快報邀請碼778899分享:Linux編輯器-vim使用
柚子快報邀請碼778899分享:Linux編輯器-vim使用
目錄
1.vim的基本概念
2.vim基本操作?
進入/退出vim?
?插入模式
3.命令模式
1.光標(biāo)的移動?
?編輯
2.復(fù)制和粘貼
復(fù)制
粘貼?
?3.剪切加刪除
剪切:
刪除:
?4.撤銷與恢復(fù)
5.替換字符
?編輯
6.批量化注釋和批量化去注釋
?5.底行模式??
1. 列出行號
?編輯
2.查找字符?
3.外部命令
?編輯
4.多文件操作
?6.替換內(nèi)容
6.異常退出?
1.vim的基本概念
vi/vim的區(qū)別簡單點來說,它們都是多模式編輯器,不同的是vim是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語法加亮,可視化操作不僅可以在終端運行,也可以運行于x window、 macos、windows。vim具有三種模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
正常/普通/命令模式(Normal mode)?
控制屏幕光標(biāo)的移動,字符、字或行的刪除,移動復(fù)制某區(qū)段及進入Insert mode下,或者到 last line mode。
插入模式(Insert mode)?
只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。
底行模式(last line mode)?
文件保存或退出,也可以進行文件替換,找字符串,列出行號等操作。 在命令模式下,shift+: 即可進入該模式。
?
2.vim基本操作?
進入/退出vim?
進入vim
vim+文件名 進入該文件的編輯界面。
?退出vim
esc + :切換值命令模式,輸入想要的指令退出。
選項說明w保存q退出!強制wq保存并退出q!不保存,強制退出wq!保存并強制退出(最高權(quán)限者強制寫入只讀文件)
shift + zz 保存退出?
?插入模式
在文件的編輯頁面,按 i 進入插入模式
光標(biāo)表示當(dāng)前插入位置?
?這些是常見的按鍵進入插入模式
i在光標(biāo)所在字符的前面開始插入I在光標(biāo)所在行的頭部開始插入,若頭部有空格則在空格后插入a在光標(biāo)所在字符的后面開始插入A在光標(biāo)所在行的末尾開始插入o在光標(biāo)所在行的下一行開始插入O在光標(biāo)所在行的上一行開始插入s刪除光標(biāo)所在后面的一個字符,并在此插入? ? ? ? S刪除光標(biāo)所在行并開始插入
3.命令模式
以下操作都是基于vim命令集:
1.光標(biāo)的移動?
移動光標(biāo)指令
h將光標(biāo)向左移動(前面可帶數(shù)字)j將光標(biāo)向下移動(前面可帶數(shù)字)k將光標(biāo)向上移動(前面可帶數(shù)字)l將光標(biāo)向右移動(前面可帶數(shù)字)w以單詞為單位進行光標(biāo)后移e光標(biāo)跳到下個字的字尾b以單詞為單位進行光標(biāo)前移^將光標(biāo)移動到光標(biāo)所在行的開頭$將光標(biāo)移動到光標(biāo)所在行的結(jié)尾gg將光標(biāo)移動到當(dāng)前文件的首行shitf+g將光標(biāo)移動到當(dāng)前文件的尾行數(shù)字 + shift+g將光標(biāo)移動到指定行ctrl+b屏幕往“后”移動一頁ctrl+f屏幕往“前”移動一頁ctrl+u屏幕往“后”移動半頁ctrl+d屏幕往“前”移動半頁
2.復(fù)制和粘貼
復(fù)制
復(fù)制單行:yy,復(fù)制當(dāng)前光標(biāo)所在行復(fù)制多行:數(shù)字 + yy,從光標(biāo)指定行開始向下復(fù)制指定行數(shù)。
粘貼?
粘貼單次:p,從光標(biāo)當(dāng)前所處位置的下一行開始粘貼。粘貼多次:數(shù)字 + p,將復(fù)制的內(nèi)容粘貼指定次。
?3.剪切加刪除
數(shù)字 + dd:剪切/刪除指定行、連續(xù)的多行
剪切:
10dd+p(剪切10行然后復(fù)制)
?
刪除:
剪切完不復(fù)制(p)就是刪除了。??
行內(nèi)往后局部刪除
?x:刪除光標(biāo)后面的一個字符。?數(shù)字 + x:在一行內(nèi),刪除從光標(biāo)處開始往后的 n 個字符。
?行內(nèi)往前局部刪除
X:刪除光標(biāo)前面的一個字符。數(shù)字 + X:在一行內(nèi),刪除光標(biāo)前的 n 個字符
?4.撤銷與恢復(fù)
撤銷
u:撤銷上一步執(zhí)行的操作,類似于 Windows 的 ctrl + z
恢復(fù)
ctrl + r:取消之前執(zhí)行的撤銷操作,類似于 Windows 的 ctrl + y
5.替換字符
數(shù)字 + r + 想替換字符??對光標(biāo)指定的位置,進行一個字符的低緩,可以一次替換多個。
shift + r + 想替換字符??進入替換模式,直接進行文本替換
6.批量化注釋和批量化去注釋
批量化注釋
1.進入視圖模式
?按住ctrl + v
2.區(qū)域選擇
h、j、k、l、進行區(qū)域選擇數(shù)字 + shift + g 選中連續(xù)的指定行數(shù)shift + g?從光標(biāo)開始到末尾全部選中
3. 進入插入模式打上注釋
?shift +i 進入插入模式并打上注釋
4. 批量注釋
按住Esc
批量注釋演示?
ctrl + v 進入視圖模式,然后數(shù)字 + shift + g 選中連續(xù)的指定行數(shù)。
?shift +i 進入插入模式并打上注釋。
??????
再按Esc就能批量化注釋了
?批量化去注釋
1.進入視圖模式
ctrl + v
2.選擇注釋范圍
h、j、k、l、進行區(qū)域選擇數(shù)字 + shift + g 選中連續(xù)的指定行數(shù)shift + g?從光標(biāo)開始到末尾全部選中
3.批量化去注釋
按 d?
注意事項:注釋是兩個字符單位,要確保選擇去注釋的范圍?/ /?選擇到。?
?
?5.底行模式??
?之前的退出就是底行模式
選項說明w保存q退出!強制退出wq保存并退出q!不保存,強制退出wq!保存并強制退出(最高權(quán)限者強制寫入只讀文件)
1. 列出行號
set nu?: 輸入「set nu」后,會在文件中的每一行前面列出行號?
set nonu :輸入「set nu」后,會在文件中的每一行前面列出行號?
2.查找字符?
/關(guān)鍵字:往后查找第一個匹配的關(guān)鍵字。?關(guān)鍵字:往前查找第一個匹配的關(guān)鍵字。
3.外部命令
可以不退出 vim 在命令行執(zhí)行基本操作指令。在 vim 界面的底行模式可以使用?! 指令?的方式調(diào)用外部命令,enter回車鍵返回vim編輯界面。
4.多文件操作
在當(dāng)前文件工作時,vim 不能像 vs 那樣直接切換到其他文件進行操作 。此時可以使用?vs 文件名,分屏打開其他文件進行操作。
光標(biāo)在哪個分屏就是在哪個分屏操作。?ctrl + ww 可以切換分屏光標(biāo),進行另一個分屏的操作。
?6.替換內(nèi)容
s/搜索的內(nèi)容/指定內(nèi)容:用指定內(nèi)容替換 光標(biāo)所在行第一個 被搜索到的內(nèi)容。s/搜索的內(nèi)容/指定內(nèi)容/g:用指定內(nèi)容替換 光標(biāo)所在行全部 被搜多到的內(nèi)容。%s/搜索的內(nèi)容/指定內(nèi)容:用指定內(nèi)容替換 整個文件每一行第一個 被搜索到的內(nèi)容。%s/搜索的內(nèi)容/指定內(nèi)容/g:用指定內(nèi)容替換 整個文件 被搜索到的內(nèi)容。
?替換多段相同內(nèi)容?
?
6.異常退出?
編輯中的文件未保存直接退出就是異常退出。見的最多的異常退出就是在命令模式下不小心 ctrl + z 之后,之后再打開文件就會出現(xiàn)以下情況。
(O)pen Read-Only: 打開此檔案成為只讀檔, 可以用在你只是想要查閱該檔案內(nèi)容并不想要進行編輯行為時。 (E)dit anyway:**還是用正常的方式打開你要編輯的那個檔案, 并不會載入暫存盤的內(nèi)容。不過很容易出現(xiàn)兩個使用者互相改變對方的檔案等問題! ( R )ecover: 就是加載暫存盤的內(nèi)容,用在你要救回之前未儲存的工作。 不過當(dāng)你救回來并且儲存離開 vim 后,還是要手動自行刪除那個暫存檔喔! (D)elete it: 你確定那個暫存檔是無用的!那么開啟檔案前會先將這個暫存盤刪除! 這個動作其實是比較常做的!因為你可能不確定這個暫存檔是怎么來的,所以就刪除掉他吧! (Q)uit: 按下 q 就離開 vim ,不會進行任何動作回到命令提示字符。 (A)bort: 忽略這個編輯行為。
?臨時解決
按下 q 之后出現(xiàn)以下信息,輸入 E 或者 R 就能進入文件,但是之后還是會出現(xiàn)該提示。
永久解決
?用rm刪除緩存文件
之前異常退出系統(tǒng)給我們緩存了一個隱藏文件,異常提醒時已經(jīng)告訴我們名字了。
?
?我們將它刪除就行了。
柚子快報邀請碼778899分享:Linux編輯器-vim使用
精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。