更新時間:2020-12-29 17:51:22 來源:動力節點 瀏覽1365次
Vim是 Unix/Linux 系統最好的文本編輯器,它的強大不遜色于任何最新的文本編輯器,由于對Unix及Linux系統的任何版本,Vim編輯器是完全相同的,因此Vim命令也是相同的。但對于一些Linux系統的初級使用者來說還是有一定的操作難度的。為了普及大家對Linux Vim編輯器的使用,本文我們來詳細地介紹各種Linux Vim命令,幫助我們快速上手Vim編輯器。
1.模式
命令模式(Command mode)
首次啟動 vim,便是命令模式
輸入模式時候,按 ESC 進入
輸入模式(Insert mode)
按 i 、o、a 鍵進入
窗口左下角有 -- INSERT -- 的字樣
底線命令模式(Last line mode):在命令模式下按下 : (英文冒號)
2.文件操作
vim a.txt 打開或新建文件,并將光標置于第一行首
vim a.txt b.txt 編輯多個文件
vim +n a.txt 打開文件,并將光標置于第 n 行首(n 為數字)
vim + a.txt 打開文件,并將光標置于最后一行首
vim +/pattern a.txt 打開文件,并將光標置于第一個與 pattern 匹配的字符串處
vim -r a.txt 在上次正用 vim 編輯時發生系統崩潰,恢復文件
:e <path/to/file> 打開一個文件
:e! 放棄修改,重新載入該文件
:q 退出 vim
:q! 退出不保存, :qa! 強行退出所有正在編輯的文件(即使有修改)
:w 保存當前文件
:wq , ZZ 保存退出
:saveas <path/to/file>, :w <path/to/file>另存為
:bn 和 :bp 當同時打開多個文件,使用這兩個命令來上下切換文件
:r <path/to/file> 把 <path/to/file> 文件內容插入「光標」所在行后面
:! <command> 暫時離開 vim 到指令行模式下執行 command 的顯示結果
:r ! <command> 將命令 command 的輸出結果插入「光標」所在行后面
3.光標操作
h, j, k, l 相當于鍵盤 ← ↓ ↑ → 移動一個字符
nh, nj, nk, nl 則按對應方向移動 n 個字符
n回車鍵 向下移動 n 行
H, M, L 光標移至「屏幕」的 頂行 中間行 尾行
當前行:
0, $ 到 行頭, 行尾
w, e, b 對應向 右, 右, 左 移動一個單詞(首/尾)
fa, 3fa 到 第一, 第三 個為 a 的字符處, fb, fs 等以此類推,F 相反方向
ta, 3ta 到 第一, 第三 個為 a 的前字符處, tb, ts 等以此類推,T 相反方向
10空格鍵 向后面移動 10 個字符
整個內容
gg, G 到內容 頂部 尾部
10G 移動到內容的第 10 行
段落
{, } 移動到段落的 開頭 結尾
(, ) 移動到句子的 開頭 結尾
4.屏幕操作
翻頁:ctrl+f, ctrl+d 屏幕對應向 下 下 移動 一頁 半頁
翻頁:ctrl+b, ctrl+u 屏幕對應向 上 上 移動 一頁 半頁
翻行:ctrl+e, ctrl+y 屏幕對應向 上 下 移動一行
5.窗口操作
:split 分割一個窗口
:split a.c 為另一個文件 a.c 分隔窗口
:n split a.c 為另一個文件 a.c 分隔窗口,光標移至 n 行
ctrl+w 窗口切換
:close 關閉當前窗口
6.文本操作
插入
i, I 對應在光標前, 當前行首 插入
a, A 對應在光標后, 當前行尾 插入
o, O 對應在當前行之下, 上 新開一行插入
r 替換當前字符
R 替換當前字符及其后的字符,直至按 ESC 鍵
刪除
s 刪除光標所在字符,然后進入輸入模式
S, cc刪除光標所在行,然后進入輸入模式
x, X 對應向 后, 前 刪除一個字符
10cw 刪除 10 個字符,然后進入輸入模式
dnh, dnl 向 左, 右 刪除 n 個字符
dw 刪除一個單詞(刪除光標位置到下一個單詞開始的位置)
dnw 刪除 n 個單詞
nC 刪除當前行及其后 n-1 行,然后進入輸入模式
dd 刪除一行
d$, do 刪至行尾, 行首(n
ndd 刪除 n 行(從當前行算起)
:n1, n2 d 刪除 n1 行到 n2 行之間的內容
dnj, dnk 向 下, 上 刪除 n 行
J 刪除行尾的換行符
搜索
/word, ?word 當前行向下, 上 尋找一個名稱為 word 的字符串
n, N 向下, 上 重復前一個搜尋的動作
:n1,n2 s/word1/word2/g n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,并將該字符串取代為 word2
:%s/word1/word2/g 全文尋找 word1 字符串,并將該字符串取代為 word2
:%s/word1/word2/gc 全文尋找 word1 字符串,并將該字符串取代為 word2,取代前需確認提示
復制/粘貼
yy 復制當前行
nyy 復制當前行向下 n 行(20yy:復制 20 行)
y1G 復制當前行到首行的所有數據
yG 復制當前行到尾行的所有數據
y0 復制光標所在的那個字符到該行行首的所有數據
y$ 復制光標所在的那個字符到該行行尾的所有數據
p, P 粘貼至當前行的下一行, 上一行
np 粘貼文本 n 次
:n1,n2 co n3 n1~n2行的內容拷貝到第 n3 行下
:n1,n2 m n3 n1~n2行的內容移至到第 n3 行下
撤銷/重做
u 復原前一個動作
ctrl+r 重做上一個動作
. 重復前一個動作
自動提示
ctrl+n 或 ctrl+p,在 insert 模式下
未輸入,則有提示菜單
輸入一個詞的開頭,則可自動補齊功能
7.Visual 模式
v 進入 -- VISUAL -- 模式
V 進入 -- VISUAL LINE -- 模式
塊操作(批量插入字符)
ctrl + v 進入塊選擇模式
移動光標選中需要操作的行
大寫的 I 進入「行首」插入模式輸入 (如果批量刪除,可以按 d)
輸入完,按兩下ESC
8.行方式命令
即底線命令模式,列一些常用命令:
:n1,n2 co n3 n1~n2行的內容拷貝到第 n3 行下
:n1,n2 m n3 n1~n2行的內容移至到第 n3 行下
:n1,n2 d 刪除 n1 行到 n2 行之間的內容
:n1,n2 w!command 將文件中 n1 行至 n2 行的內容作為 command 的輸入并執行之
:n1,n2/^/注釋符/g n1~n2 行加注釋符, 例如::10,20s#^#//#g 在 10~20 行添加 // 注釋
:n1,n2/^注釋符//g n1~n2 取消注釋符, 例如::10,20s#^//##g 在 10~20 行取消 // 注釋
9.宏
q[a-z] 把操作記錄在寄存器 [a-z](命名),q 停止錄制
@[a-z] 在當前光標處執行宏[a-z]
@@ 在當前光標處執行最新錄制的宏
reg 顯示當前定義的所有的宏
例子:
vim a.txt 新建 a.txt, 寫入 1
qa 開始錄制
Yp 復制行
ctrl+a 增加 1
q 停止錄制
@a 1 下面寫下 2
@@ 2 下面寫下 3
10@@ 創建新的 10 行,并把數據增加到 13.
10.配置
配置文件在 /usr/share/vim/vimrc,這是系統級的 vimrc 配置文件,為了保證 vim 的正常運行,一般并不會修改這個文件,而是應該在自己的用戶目錄下(~ 下)創建一個新的用戶級 vimrc 文件。
底線命令模式
:set ruler,set noruler 顯示/不顯示標尺
:set hlsearch 高亮顯示查找到的單詞
:set nohlsearch 關閉高亮顯示
:syntax on 語法高亮
:set nu 顯示行號
:set nonu 不顯示行號
:set ignorecase 搜索時忽略大小寫
:set smartcase 搜索時匹配大小寫
:set ruler 顯示光標位置坐標
:set hlsearch 搜索匹配全高亮
:set tabstop=8 設置tab大小,8為最常用最普遍的設置
:set softtabstop=8 4:4個空格,8:正常的制表符,12:一個制表符4個空格,16:兩個制表符
:set autoindent 自動縮進
:set cindent C語言格式里面的自動縮進
了解并掌握linux Vim命令是掌握并熟練運用vim編輯器的必要途徑。以上Linux系統中Vim編輯器的各種命令的詳細介紹,為大家一一羅列了出來,希望能夠對初用Linux系統的小伙伴起到幫助,能夠快速掌握的小伙伴也不要驕傲哦,在本站的Linux教程中還有許多精彩的Linux知識等你來學哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習