目錄
1、vim的概念
2、vim的常見模式
2.1 演示切換vim模式
3、vim命令模式常用操作
3.1 移動光標
3.2 刪除文字
3.3 復制
3.4 替換
4、vim底行模式常用命令
4.1 查找字符
5、vim的配置文件
1、vim的概念
Vim全稱是Vi IMproved,即說明它是Vi編輯器的增強版。
Vim是一種多模式編輯器,不同模式下按鍵功能不同。
2、vim的常見模式
vim的常見模式有三種:命令模式、插入模式、底行模式。
命令模式(Normal mode)
vim打開文件時默認的模式,控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段進入插入模式下,或者到底行模式。
插入模式(Insert mode)
只有在插入模式下,才可以做文字輸入,按「ESC」鍵可回到命令模式。該模式是我們后面使用得最頻繁的編輯模式。在命令模式下按i\o\a等即可進入插入模式。
底行模式(last line mode)
可以執行文件保存或退出,也可以進行文件替換,找字符串,列出行號等操作。 在命令模式下,按下shift+: 即可進入該模式,按「ESC」鍵可回到命令模式。
三種模式的切換

2.1 演示切換vim模式
在bash中輸入vim+文件名就可以用vim打開文件,此時vim為默認的命令模式
這就是進入了vim且模式為命令模式
從命令模式進入插入模式,需要輸入i/o/a。
i\o\a的區別:
i進入后光標在位置不變,但推出后若在一行的首個字符,光標不變,不在就會到上一個字符的位置。
o進入后會光標在上一次的行換行到下一行,退出插入模式回到命令模式后,光標位置不變。
a進入后光標會轉移到上一個字符的下一個位置,退出插入模式回到命令模式后,光標會回到在插入模式所處字符的上一個字符位置。
在命令模式下按 : (冒號)即 【shift+;】,就可以進入底行模式
3、vim命令模式常用操作
3.1 移動光標
gg:光標定位到文件開頭。
shift + g(G):光標定位到文件結尾。
n + shift + g(nG):光標定位到文件第n行。
shift + 6(^):光標定位到行開始。
shift + 4($):光標定位到行結尾。
h、j、k、l:左、下、上、右移動。
3.2 刪除文字
x :每按一次,刪除光標所在位置的一個字符
n + x :例如,「6x」表示刪除光標所在位置的“后面(包含自己在內)"6個字符
X :大寫的X,每按一次,刪除光標所在位置的“前面”一個字符
n + X :例如,「20X」表示刪除光標所在位置的“前面”20個字符以上都是在一行內的操作。是一行內的前后。
dd :刪除光標所在行
n + dd :從光標所在行開始刪除n行
3.3 復制
yw :將光標所在之處到字尾的字符復制到緩沖區。
n + yw :復制n個字到緩沖區。
yy :復制光標所在行到緩沖區。
n + yy :例如,「6yy」表示連續復制從光標所在的該行“往下數”6行文字到緩沖區。
p :將緩沖區內的字符粘貼到光標所在位置。n + p?:?例如,「6p」表示連續粘貼從光標所在的該行“往下數”6行。
注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。
u :撤銷
ctrl + r :對撤銷撤銷
dd :剪切
n + dd :剪切n行
3.4 替換
r :替換光標所在的字符
n + r :替換光標所在的后n個字符
shift + r(R) :替換光標所到之處的字符,直到按下「ESC」鍵為止。
3.5 批量化注釋
批量化注釋
1、ctrl v(進入可視化模式)
2、h、j、k、l區域選擇,j
3、shift + i = I
4、//
5、ESC
批量化去注釋
1、ctrl v
2、h、j、k、l區域選擇
3、d
4、vim底行模式常用命令
列出行號:set nu
跳轉到文件中的某一行:n
保存文件:w
離開vim:q,如果無法離開,在 q 后面加 ! 強制離開vim,此時一般并沒有退出,按任意鍵又可以返回vim。
保存并退出:wq
分屏:vs 文件名
4.1 查找字符
/ + 關鍵字 :先按 / 鍵,再輸入想要查找的字符,如果第一次找的關鍵字不是想要的,可以一直按 n 會往后尋找到需要要的關鍵字為止。
? + 關鍵字 :先按 ? 鍵,再輸入想要查找的字符,如果第一次找的關鍵字不是想要的,可以一直按 n 會往前尋找到需要的關鍵字為止。
5、vim的配置文件
系統中公共的vim配置文件在/etc目錄下面,是一個叫vimrc的文件。配置這個文件對所有用戶都生效
每個用戶的家目錄下都有自己的配置文件.vimrc,如果沒有可以創建一個。配置這個文件只對該用戶有效。
對vim的配置就是對這個名為vimrc或.vimrc的文件內容的修改。
對于vim的配置,大家可以按照vim的配置代碼進行一個一個地配置,也可以在網絡上尋找別人公開的vim配置文件進行使用,這里不再贅述。