1.Linux vim命令詳解


 

第一次使用vim,啥都不懂,輸入也不能輸入,退出也不會退出,特別的尷尬。。。。后來慢慢的接觸學習,發現vim真的挺好用的,不過上手有點慢,多用就對了,用多了我相信你也會喜歡這個文本編輯工具的。

 

vi/vim 的使用

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode)。 這三種模式的作用分別是:

1、命令模式:
使用 Vim 編輯文件時,默認處於命令模式。在此模式下,可以使用上、下、左、右鍵或者 k、j、h、l 命令進行光標移動,還可以對文件內容進行復制、粘貼、替換、刪除等操作。

2、輸入模式:
在輸入模式下可以對文件執行寫操作,類似在 Windows 的文檔中輸入內容。進入輸入模式的方法是輸入 i、a、o 等插入命令,編寫完成后按 Esc 鍵即可返回命令模式。

在輸入模式中,可以使用以下按鍵:

字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行

BACK SPACE,退格鍵,刪除光標前一個字符
DEL,刪除鍵,刪除光標后一個字符
方向鍵,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標為輸入/替換模式,光標將變成豎線/下划線
ESC,退出輸入模式,切換到命令模式

 

3、編輯模式:
如果要保存、查找或者替換一些內容等,就需要進入編輯模式。編輯模式的進入方法為:在命令模式下按":"鍵,Vim 窗口的左下方會出現一個":"符號,這時就可以輸入相關的指令進行操作了。指令執行后會自動返回命令模式。

 

 

二、基本操作
1、打開文件,或者是新建文件
統一命令為:vim file_name
例如:vim array.sh

然后在打開頁面的左下角可以看到文件的信息,行數和字符數,比如上圖的241行,5450個字符

2、移動光標:
a、以字符為單位移動
在命令模式中使用 h、j、k、l 這 4 個字符控制方向,分別表示向左、向下、向上、向左。
b、以單詞為單位移動
w:移動光標到下一個單詞的單詞首
b:移動光標到上一個單詞的單詞首
e:移動光標到下一個單詞的單詞尾
c、移動到行尾或者行首


  使用""使"0""′′

命令來說,可以使用諸如"n$"之類的命令來將光標移至當前光標所在行的之后 n 行的行尾(n 為數字);對於"0"命令來說卻不可以,但可以用"n^"


   移動到一行的指定字符處(f 命令)


例如,某行為"you can you up, no can no bb",現在需要將光標移動到字符 p 處,則可以使用"fp"命令,這樣光標就會迅速定位到字符 p 處。f 命令有一個使用條件,即光標需在指定字符前
   移動到匹配的括號處(%命令)
那么在使用 Vim 進行編輯時經常會為將光標移動到與一個"("匹配的")"(對於 [] 和 {} 也是一樣的)處而感到頭疼。其實在 Vim 里面提供了一個非常方便地査找匹配括號的命令,這就是"%"


    移動到指定行處(nG 或 :n 命令)
可以直接在命令模式中輸入"nG"(n 為數字,G 為大寫)或":n"(在編輯模式中輸入數字)命令將光標快速地定位到指定行的行首。這種方法對快速移動光標非常有效。

3、插入
常用的插入命令:
i:在當前光標所在位置插入隨后輸入的文本,光標后的文本相應向右移動
I:在光標所在行的行首插入隨后輸入的文本,行首是該行的第一個非空白字符,相當於光標移動到行首執行i命令
a:在當前光標所在位置之后插入隨后輸入的文本
A:在光標所在行的行尾插入隨后輸入的文本,相當於光標移動到行尾再執行a命令
o:在光標所在行的下面插入新的一行。光標停在空行首,等待輸入文本
O:在光標所在行的上面插入新的一行。光標停在空行的行首,等待輸入文本


當處於輸入模式時,右下角的狀態為如下圖所示:

 

當編輯完畢使用Esc命令退出輸入模式,進去命令模式,可以使用Shift+zz命令保存退出,其他保存和退出命令見下文

4、編輯
査找指定字符串
首先在命令模式下輸入:/char #char為需要查找的字符,在查找的過程中還以使用$^等進行匹配
然后enter鍵就可以了,然后使用n,N進行下一個或者上一個查找

 


5、替換字符


r 替換當前光標的單個字符
R 從當前光標開始替換,esc退出
替換范圍內的字符串::替換起始處,替換結束處s/源字符串/替換的字符串/g。
替換整篇文檔的字符串::%s/源字符串/替換的字符串/g(如果不加g,則只替換每行第一個找到的字符串)。

6、刪除,復制,粘貼
x :刪除當前光標字符
dd: 刪除當前光標行
還可以使用命令::1,$d #表示從第一行到最后一行刪除,
ndd ,表示刪除當前光標接下來的n行, 例如5dd
dG : 表示刪除光標到最后一行
yy:為復制
p:為粘貼
u:為撤銷上一步的操作


7、保存和退出
字母"w":保存不退出;
字母"q":不保存退出;
字符"!":強制性操作;

三、其他常用設置
命令前面都要加冒號,我表示偷懶。。。

 

其他:

:set nu|nonu 顯示/不顯示行號
:syntax on|off 啟用/關閉語法高亮
:set hls|nohls 開啟/關閉查詢結果高亮顯示
:set ai      啟用自動縮進
:set autoindent 啟用自動縮進
:set noai 關閉自動縮進
:set tabstop=4 表示把tab鍵的寬度設為4個空格
 
顯示忽略或區分字符大小寫
:set ignorecase
:set ic
 
:set noic
 
查找到的文本高亮顯示或取消
:set hlsearch
:set nohlsearch

 

 

 

 

 

 

四、截圖高手(請原諒我的懶惰,畢竟時間寶貴)

這部分截圖來自鳥哥私房菜:

基礎知識其實更推薦大家看書籍,內容全面,此博客只是皮毛

內容豐富,有興趣的童鞋可以提取

下載地址:

鏈接:https://pan.baidu.com/s/1qK3ZF-kBYBL_R_C2YJxhSg
提取碼:nz0n

 

 

VIM 補全:

 
 
 
最常用的補全方式應該是CTRL-NCTRL-P補全了。它們會在當前緩沖區、其它緩沖區,以及當前文件所包含的頭文件中查找以光標前關鍵字開始的單詞。智能補全不能對局部變量進行補全,而CTRL-NCTRL-P補全則可以很好的勝任
 
CTRL-P一般的含義是向上,因此CTRL-P補全是向上查找以進行補全,而CTRL-N是向下查找以進行補全,在不同場合使用不同的快捷鍵可以加速補全的速度。
 
 
vim中其它的補全方式包括:
整行補全 CTRL-X CTRL- L
根據當前文件里關鍵字補全 CTRL-X CTRL-N
根據字典補全 CTRL-X CTRL-K
根據同義詞字典補全 CTRL-X CTRL-T
根據頭文件內關鍵字補全 CTRL-X CTRL-I
根據標簽補全 CTRL-X CTRL-]
補全文件名 CTRL-X CTRL-F
補全宏定義 CTRL-X CTRL-D
補全vim命令 CTRL-X CTRL-V
用戶自定義補全方式 CTRL-X CTRL-U
拼寫建議 CTRL-X CTRL-S

 

 

參考:https://www.cnblogs.com/zsql/p/10583396.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM