常用vim操作的實例詳解

本篇是對常用vim操作的自我總結,大神請回避,適合小白觀看。


vim 打開退出保存

打開:
直接打開 vim practice_1.txt
也可以先打開vim,后:e 文件路徑

保存:
:w 文件名
或者退出保存:wq!

普通模式下退出vim:Shift+zz


vim 移動和進入插入模式

移動:
w下一個單詞
b上一個單詞

進入插入模式
命令 說明
i 在當前光標處進行編輯
I 在行首插入
A 在行末插入
a 在光標后插入編輯
o 在當前行后插入一個新行
O 在當前行前插入一個新行
cw 替換從光標所在位置后到一個單詞結尾的字符


?

vim 選擇模式

v(小寫),進入字符選擇模式
Shift+v(小寫),進入行選擇模式
Ctrl+v(小寫),這是區域選擇模式,可以進行矩形區域選擇,
在可視模式下輸入d刪除選取區域內容
在可視模式下輸入y復制選取區域內容


?

vim行間跳轉和行內跳轉

nG 跳到第n行
gg 第一行
G最后一行
ctrol + o 跳到上一次跳轉時的位置,可以重復類似history

命令 說明
w 到下一個單詞的開頭
e 到下一個單詞的結尾
b 到前一個單詞的開頭
ge 到前一個單詞的結尾
0或^ 到行頭
$ 到行尾
f 向后搜索并跳轉到第一個匹配的位置(非常實用)
F 向前搜索并跳轉到第一個匹配的位置
t 向后搜索并跳轉到第一個匹配位置之前的一個字母(不常用)
T 向前搜索并跳轉到第一個匹配位置之后的一個字母(不常用)


?

vim復制粘貼

y復制
普通模式中,yy復制游標所在的整行(3yy表示復制3行)
普通模式中,y^ 復制至行首,或y0。不含光標所在處字符。
普通模式中,y$ 復制至行尾。含光標所在處字符。
普通模式中,yw 復制一個單詞。
普通模式中,y2w 復制兩個單詞。
普通模式中,yG 復制至文本末。
普通模式中,y1G 復制至文本開頭。
p粘貼
普通模式中,p(小寫)代表粘貼至光標后(下)
普通模式中,P(大寫)代表粘貼至光標前(上)
d剪切


?

vim刪除快捷鍵

命令 說明
x 刪除游標所在的字符
X 刪除游標所在前一個字符
Delete 同x
dd 刪除整行
dw 刪除一個單詞(不適用中文)
d$或D 刪除至行尾
d^ 刪除至行首
dG 刪除到文檔結尾處
d1G 刪至文檔首部

命令之前加數字表示重復操作
2dd


?

vim 多文件編輯

vim 1.txt 2.txt
進入vim后打開新文件

命令行模式下輸入:e 3.txt 打開新文件3.txt
命令行模式下輸入:e# 回到前一個文件
命令行模式下輸入:ls可以列出以前編輯過的文檔
命令行模式下輸入:b 2.txt(或者編號)可以直接進入文件2.txt編輯
命令行模式下輸入:bd 2.txt(或者編號)可以刪除以前編輯過的列表中的文件項目
命令行模式下輸入:e! 4.txt,新打開文件4.txt,放棄正在編輯的文件
命令行模式下輸入:f 顯示正在編輯的文件名
命令行模式下輸入:f new.txt,改變正在編輯的文件名字為new.txt

如果因為斷電等原因造成文檔沒有保存,可以采用恢復方式,vim -r進入文檔后,輸入:ewcover 1.txt來恢復
$ vim -r 1.txt


?

vim顯示行號

:set nu


?

vim替換

r+ 將游標所在字母替換為指定字母
R 連續替換,直到按下Esc
cc 替換整行,即刪除游標所在行,并進入插入模式
cw 替換一個單詞,即刪除一個單詞,并進入插入模式
C(大寫) 替換游標以后至行末
~ 反轉游標所在字母大小寫
u{n} 撤銷一次或n次操作
U(大寫) 撤銷當前行的所有修改
Ctrl+r redo,即撤銷undo的操作


?

vim 查找

/icmp 向后查找icmp
? tcp 向前查找tcp
n下一個
N移動到上一個


?

Vim重復命令

.
也可以輸入數字在命令前


?

vim 內部執行外部命令

輸入!
:!ls 用于顯示當前目錄的內容
:!rm FILENAME用于刪除名為 FILENAME 的文件
:w FILENAME可將當前 VIM 中正在編輯的文件另存為 FILENAME 文件


?

vim 文本對齊

:ce
:ri
:le


?

vim 文檔加密

vim -x file1


?

vim縮進

>>
查看設置:
set shiftwidth?
設置值:
set shiftwidth=10


?

vim設置

2.7.1 vim的功能設定
vim的配置文件~/.vimrc(實驗樓環境中配置文件在/etc/vim/vimrc),可以打開文件進行修改,不過務必小心不要影響vim正常使用

2.7.2 獲取目前的設定

命令行模式下輸入:set或者:se顯示所有修改過的配置
命令行模式下輸入:set all 顯示所有的設定值
命令行模式下輸入:set option? 顯示option的設定值
命令行模式下輸入:set nooption 取消當期設定值
2.7.3 set功能的說明

命令行模式下輸入:set autoindent(ai) 設置自動縮進
命令行模式下輸入:set autowrite(aw) 設置自動存檔,默認未打開
命令行模式下輸入:set background=dark或light,設置背景風格
命令行模式下輸入:set backup(bk) 設置自動備份,默認未打開
命令行模式下輸入: set cindent(cin) 設置C語言風格縮進


?

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享