天天看點

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,Enter鍵,換行

BACK SPACE,倒退鍵,删除光标前一個字元
DEL,删除鍵,删除光标後一個字元
方向鍵,在文本中移動光标
HOME/END,移動光标到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光标為輸入/替換模式,光标将變成豎線/下劃線
ESC,退出輸入模式,切換到指令模式      

3、編輯模式:

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

二、基本操作

1、打開檔案,或者是建立檔案

統一指令為:vim file_name

例如:vim array.sh

1.Linux vim指令詳解

然後在打開頁面的左下角可以看到檔案的資訊,行數和字元數,比如上圖的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:在光标所在行的上面插入新的一行。光标停在空行的行首,等待輸入文本

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

1.Linux vim指令詳解

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

4、編輯

査找指定字元串

首先在指令模式下輸入:/char #char為需要查找的字元,在查找的過程中還以使用$^等進行比對

然後enter鍵就可以了,然後使用n,N進行下一個或者上一個查找

1.Linux vim指令詳解

5、替換字元

r 替換目前光标的單個字元

R 從目前光标開始替換,esc退出

替換範圍内的字元串::替換起始處,替換結束處s/源字元串/替換的字元串/g。

替換整篇文檔的字元串::%s/源字元串/替換的字元串/g(如果不加g,則隻替換每行第一個找到的字元串)。

6、删除,複制,粘貼

x :删除目前光标字元

dd: 删除目前光标行

還可以使用指令::1,$d #表示從第一行到最後一行删除,

ndd ,表示删除目前光标接下來的n行, 例如5dd

dG : 表示删除光标到最後一行

yy:為複制

p:為粘貼

u:為撤銷上一步的操作

7、儲存和退出

字母"w":儲存不退出;

字母"q":不儲存退出;

字元"!":強制性操作;

三、其他常用設定

指令前面都要加冒号,我表示偷懶。。。

1.Linux vim指令詳解

其他:

: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

1.Linux vim指令詳解
1.Linux vim指令詳解
1.Linux vim指令詳解
1.Linux vim指令詳解
1.Linux vim指令詳解
1.Linux vim指令詳解

VIM 補全:

最常用的補全方式應該是CTRL-N和CTRL-P補全了。它們會在目前緩沖區、其它緩沖區,以及目前檔案所包含的頭檔案中查找以光标前關鍵字開始的單詞。智能補全不能對局部變量進行補全,而CTRL-N和CTRL-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