国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux Vim基本操作(文件的打開和編輯)完全攻略(有圖有真相)

2024-08-27 23:57:07
字體:
來源:轉載
供稿:網友
《Vim三種工作模式》一節給大家詳細介紹了 Vim 的 3 種工作模式,本節來學習如何使用 Vim 編輯文件。

首先學習如何使用 Vim 打開文件。

Vim 打開文件

使用 Vim 打開文件很簡單,例如在命令行模式下打開一個自己編寫的文件 /test/vi.test,打開方法如下:

[root@itxdl ~]# vim /test/vi.test

剛打開文件時 Vim 處于命令模式,此時文件的下方會顯示文件的一些信息,包括文件的總行數和字符數,以及當前光標所在的位置等,此時可以使用插入命令進入輸入模式對文件進行編輯,如圖 1 所示。


圖 1 Vim 打開文件 除此之外,我們還可以利用下表中打開文件的命令格式,針對特定情形使用適當的打開方式,可以大大提高我們的效率。

表 2 Vim 打開文件的快捷方法
Vi 使用的選項說 明
vim filename打開或新建一個文件,并將光標置于第一行的首部
vim -r filename恢復上次 vim 打開時崩潰的文件
vim -R filename把指定的文件以只讀方式放入 Vim 編輯器中
vim + filename打開文件,并將光標置于最后一行的首部
vi +n filename打開文件,并將光標置于第 n 行的首部
vi +/pattern filename打幵文件,并將光標置于第一個與 pattern 匹配的位置
vi -c command filename在對文件進行編輯前,先執行指定的命令

使用 Vim 進行編輯

同樣,Vim 提供了大量的編輯快捷鍵,主要可分為以下幾類。

Vim 插入文本

從命令模式進入輸入模式進行編輯,可以按下 I、i、O、o、A、a 等鍵來完成,使用不同的鍵,光標所處的位置不同,如表 3 所示。

表 3 插入文本
快捷鍵功能描述
i在當前光標所在位置插入隨后輸入的文本,光標后的文本相應向右移動
I在光標所在行的行首插入隨后輸入的文本,行首是該行的第一個非空白字符,相當于光標移動到行首執行 i 命令
o在光標所在行的下面插入新的一行。光標停在空行首,等待輸入文本
O在光標所在行的上面插入新的一行。光標停在空行的行首,等待輸入文本
a在當前光標所在位置之后插入隨后輸入的文本
A在光標所在行的行尾插入隨后輸入的文本,相當于光標移動到行尾再執行 a 命令

Vim 查找文本

表 4 Vim 查找目標文本
快捷鍵功能描述
/abc從光標所在位置向前查找字符串 abc
/^abc查找以 abc 為行首的行
/abc$查找以 abc 為行尾的行
?abc從光標所在為主向后查找字符串 abc
n向同一方向重復上次的查找指令
N向相反方向重復上次的查找指定

例如,在 /etc/passwd.vi 文件中查找字符串 "root",則運行命令如圖 5 所示。

圖 5 使用 Vim 進行查找
如果在文件中并沒有找到所要查找的字符串,則在文件底部會出現 "Pattern not found" 提示,如圖 6 所示。


圖 6 未查找到指定字符串的提示
在查找過程中需要注意的是,要查找的字符串是嚴格區分大小寫的,如查找 "shenchao" 和 "ShenChao" 會得到不同的結果。

如果想忽略大小寫,則輸入命令 ":set ic";調整回來輸入":set noic"。

如果在字符串中出現特殊符號,則需要加上轉義字符 "/"。常見的特殊符號有 /、*、?、$ 等。如果出現這些字符,例如,要查找字符串 "10$",則需要在命令模式中輸入 "/10/$"。

Vim 替換文本

表 7 Vim替換文本
快捷鍵功能描述
r替換光標所在位置的字符
R從光標所在位置開始替換字符,其輸入內容會覆蓋掉后面等長的文本內容,按“Esc”可以結束
:s/a1/a2/g將當前光標所在行中的所有 a1 用 a2 替換
:n1,n2s/a1/a2/g將文件中 n1 到 n2 行中所有 a1 都用 a2 替換
:g/a1/a2/g將文件中所有的 a1 都用 a2 替換

例如,要將某文件中所有的 "root" 替換為 "liudehua",則有兩種輸入命令,分別為:

:1, $s/root/liudehua/g

:%s/root/liudehua/g

上述命令是在編輯模式下操作的,表示的是從第一行到最后一行,即全文查找 "root",然后替換成 "liudehua"。

如果剛才的命令變成 :10,20 s/root/liudehua/g,則只替換從第 10 行到第 20 行的 "root"。

Vim刪除文本

表 8 Vim 刪除文本快捷鍵
快捷鍵功能描述
x刪除光標所在位置的字符
dd刪除光標所在行
ndd刪除當前行(包括此行)后 n 行文本
dG刪除光標所在行一直到文件末尾的所有內容
D刪除光標位置到行尾的內容
:a1,a2d函數從 a1 行到 a2 行的文本內容

注意,被刪除的內容并沒有真正刪除,都放在了剪貼板中。將光標移動到指定位置處,按下 "p" 鍵,就可以將剛才刪除的內容又粘貼到此處。

Vim復制文本

表 9 Vim 復制文本
快捷鍵功能描述
p將剪貼板中的內容復制到光標后
P將剪貼板中的內容復制到光標前
yy將光標所在行復制到剪貼板,此命令前可以加數字 n,可復制多行
yw將光標位置的單詞復制到剪貼板

Vim其他常用快捷鍵

某些情況下,可能需要把兩行進行連接。比如說,下面的文件中有兩行文本,現在需要將其合并成一行(實際上就是將兩行間的換行符去掉)。可以直接在命令模式中按下 "J" 鍵,按下前后如圖 10 所示。


圖 10 按下 "J" 鍵前后
如果不小心誤刪除了文件內容,則可以通過 "u" 鍵來撤銷剛才執行的命令。如果要撤銷剛才的多次操作,可以多按幾次 "u" 鍵。

Vim 保存退出文本

Vim 的保存和退出是在編輯模式中進行的,其常用命令如下表所示。

表 11 Vim 常用保存退出命令
命令功能描述
:wq保存并退出 Vim 編輯器
:wq!保存并強制退出 Vim 編輯器
:q不保存就退出 Vim 編輯器
:q!不保存,且強制退出 Vim 編輯器
:w保存但是不退出 Vim 編輯器
:w!強制保存文本
:w filename另存到 filename 文件
x!保存文本,并退出 Vim 編輯器,更通用的一個 vim 命令
ZZ直接退出 Vim 編輯器

需要注意的是,"w!" 和 "wq!" 等類似的指令,通常用于對文件沒有寫權限的時候(顯示 readonly,如圖 12 所示),但如果你是文件的所有者或者 root 用戶,就可以強制執行。


圖 12 只讀文件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化市| 云林县| 红桥区| 咸阳市| 旅游| 长宁区| 芜湖市| 和静县| 望城县| 江北区| 永兴县| 张家口市| 聂荣县| 子洲县| 维西| 兴海县| 通渭县| 乌恰县| 海伦市| 桓仁| 安义县| 嘉义市| 陕西省| 邛崃市| 资兴市| 哈巴河县| 揭东县| 夏津县| 合川市| 兴义市| 喀喇| 平果县| 奉贤区| 滨州市| 连城县| 栾城县| 瓦房店市| 宁明县| 沙田区| 宁安市| 和硕县|