目錄
- 一:vim 介紹
- 二:vim 特點
- 三:vim 配置
- 四:vim 使用
- 1、vim 語法格式
- 2、vim 普通模式
- (1)保存退出
- (2)光標跳轉
- (3)文本刪除
- (4)文本查找
- (5)撤銷操作
- (6)可視化模式
- 3、vim 命令模式
- (1)保存退出
- (2)set 命令
- (3)搜索替換
- 4、vim 編輯模式
一:vim 介紹
vim 是一個跨平臺的交互式文本編輯工具,是vi編輯器的增強版,常用于Linux環境中對文本文件的內容進行增刪查改;
二:vim 特點
-
屬于交互式編輯工具,允許用戶實時編輯文件內容
-
編輯文件時,會將該文件的內容全部加載到內存,在內存中完成修改后再寫入
-
有三種工作模式,末行模式、命令模式和編輯模式,默認進入的是命令模式;
三:vim 配置
vim 有兩種級別的配置文件,分別是用戶級配置文件和系統全局配置文件;vim 配置文件中,使用 "
作為注釋符號,注釋內容不會被執行:
-
用戶級配置文件:只對當前用戶生效,一般默認不存在,需要手動創建;
-
系統級配置文件:針對所有用戶生效;
查看配置文件優先級和路徑:
# 例如
$ vim --version | grep vimrcsystem vimrc file: "$VIM/vimrc"user vimrc file: "$HOME/.vimrc"2nd user vimrc file: "~/.vim/vimrc"
四:vim 使用
1、vim 語法格式
vim [filename]
-
如果指定的文件
filename
存在,打開文件并顯示其內容。 -
如果指定的文件不存在,創建一個空白的緩沖區(
buffer
),將其命名為filename
,如果編輯后保存 (:w
),文件將被創建并寫入指定路徑。 -
直接執行 vim 而不指定文件名:vim 會打開一個空白緩沖區(
buffer
),沒有關聯的文件。可以進行文本的輸入,但是保存的時候需要在命令行模式下指定文件名:w filename
2、vim 普通模式
-
打開某個文件時,默認就處于普通模式;
-
命令模式下可以通過執行相關命令來對文本進行管理,但是輸入的命令不會在界面有任何顯示;
-
命令模式下不能直接編輯文本,而是通過按鍵命令操作文件內容;
(1)保存退出
-
ZQ
:直接退出vim編輯器,當前更改的內容不會被保存; -
ZZ
:保存當前對文本的修改,然后退出vim編輯器;
(2)光標跳轉
-
^
(脫字符):跳轉到光標所在行的,數字0也可以; -
$
:將光標跳轉到光標所在行的行尾 -
gg
:光標移動到文本的第一行 -
G
:光標移動到文本的最后一行,前面加數字就是移動到指定行。 -
[num]G
:跳轉到指定行。例如 11G,表示將光標跳轉到第11行
(3)文本刪除
-
d0或d$
:(刪除到行尾)從光標處開始的內容一直到光標所在行的最后一個字符會被刪除; -
dd
: 刪除光標所在行的整行內容; -
dG
:刪除從光標開始行到最后一行的內容;
(4)文本查找
-
/關鍵字
: 向下搜索, -
?關鍵字
:從當前光標位置向上搜索,n:向上 N:向下
(5)撤銷操作
-
u
:撤銷當前操作 -
ctrl+r
:取消撤銷操作
(6)可視化模式
可視化模式的作用是用于選擇文本塊,進入可視化模式后,可以批量選擇。
-
v
:選擇文本中的單個字符 -
v
:選擇整行文本 -
ctrl+v
:選擇文本的一個矩形區塊
例如:批量注釋行:
1、先將光標移動到指定行的第一行行首
2、輸入ctrl+v
進入可視化模式
3、向下移動光標,選中希望操作的每一行的第一個字符
4、輸入大寫字母 I
切換至插入模式(大寫I 表示在當前光標所在行的行首輸入)
5、輸入 #
6、按 ESC
鍵返回到普通模式
3、vim 命令模式
命令模式也叫做末行模式,于執行文件操作和全局操作命令,例如保存、退出、搜索和替換等。
普通模式下按 :
可以進入末行模式,按 Esc
返回普通模式。
(1)保存退出
-
w
:保存 -
q
:退出 -
x
:保存并退出 -
!
:結合w q等命令使用,表示強制的意思
(2)set 命令
-
set nu
:顯示行號,set nonu
:取消行號顯示 -
set ai
:自動縮進,set noai
:取消自動縮進 -
set paste
:復制文本內容到該文件時候,保留文件格式,set nopaste
:取消格式保留 -
set list
:顯示不可見的字符。^I
:表示tab鍵$
:表示回車 -
set ff=unix|dos
:更改文本格式,unix就是linux格式,dos就是windows的格式 -
set fileencodings=utf-8,iso-8859-1
:設置當前內容顯示的編碼格式 -
set fileencoding=utf-8
:設置使用vim創建新文件時的編碼格式;
(3)搜索替換
說明:分隔符 / 可以換為其它的,例如 s#xx#yy#
-
s/xx/yy/
:將文本中光標所在行的第一個xx替換為yy -
s/xx/yy/g
:將文本中光標所在行的所有的xx替換為yy -
%s/xx/yy/g
:將文本中所有的xx都替換為yy,如果不加g,只會搜索
4、vim 編輯模式
編輯模式也叫做插入模式,用于直接對文本內容進行操作。
在普通模式下按 i、a、o
可以進入到編輯模式;
-
i
:在當前光標位置前插入文本;I
:在當前行的行首插入文本 -
a
:在當前光標位置后插入文本;A
:在當前行的行首插入文本 -
o
:在當前行下方新建一行并插入文本;O
:在當前行上方新建一行并插入文本