文本文件的編輯命令:vim
1、vim的三種狀態(tài)模式
1)命令模式(默認(rèn))
備注:命令模式下輸入“:q!”可以退出vim。
2)可編輯模式(通過(guò)命令模式下輸入小寫“i”進(jìn)入可編輯模式;按Esc退出至命令模式)
備注:小寫i,在當(dāng)前光標(biāo)處插入;小寫a,在當(dāng)前光標(biāo)后插入。
3)末行模式(通過(guò)命令模式下進(jìn)入,按Esc退出至命令模式)
作用:在文件的最后一行執(zhí)行非文本編輯命令,保存、打開文件,寫文件名等。
例如“:w”的作用是,填寫文件名;
例如“:wq”的作用是,填寫文件后保存并退出;
例如“/”,從上往下查找;
例如“?”,從下往上查找;
2、vim的基本操作
1)打開文件
vim 文件名即可打開并進(jìn)入命令模式。
2)編輯文件
命令模式下,輸入小寫i即可進(jìn)入編輯模式;
3)保存文件并退出
編輯完成后,按Esc返回命令模式,輸入“:w”(沒有文件名的話添加文件名);
再輸入:q即可退出。
3、vim的編輯操作(在命令模式下)
1)復(fù)制操作
小寫“yy”復(fù)制單行;
“2yy”復(fù)制光標(biāo)處2行;
……
“nyy”復(fù)制光標(biāo)出n行。
2)粘貼操作
小寫“p”粘貼到當(dāng)前光標(biāo)的下一行;
大寫“P”粘貼到當(dāng)前光標(biāo)的下一行;
3)刪除操作
“dd”刪除當(dāng)前行
“2dd”刪除光標(biāo)處當(dāng)前兩行;
……
4)增行操作open
小寫“o”,在當(dāng)前光標(biāo)處的下一行插入空行;
大寫“o”,在當(dāng)前光標(biāo)處的上一行插入空行;
4、vim的查找替換操作(在末行模式下)
1)查找操作
作用:查找包含關(guān)鍵字的行;
在命令模式下輸入“/查找對(duì)象”,即可從上往下查找,按n查找(next);
在命令模式下輸入“?查找對(duì)象”,即可從上往下查找,按n查找(next);
2)替換操作
行替換
:s/被替換對(duì)象/新對(duì)象/gc,提示后按y即完成替換。
全文替換
:%s/被替換對(duì)象/新對(duì)象/gc,分別按行提示后按y即完成替換。
輸入:wq(保存并退出)。
5、vim的高級(jí)操作1)行號(hào)的設(shè)置
在末行模式下輸入“:set nu”即可顯示文件的行號(hào);
在末行模式下輸入“:set nonu”即可關(guān)閉顯示文件的行號(hào);
vi ~/.vimrc
2)~/.vimrc的編輯設(shè)置
3)多文件的并發(fā)操作
該操作便于多文件相互復(fù)制粘貼等。
命令:vim 文件名1 文件名2 文件名3……
命令:“:args”在底部顯示當(dāng)前打開的多個(gè)文件的名字,【當(dāng)前文件的名字】;
命令:“:next”切換顯示下一個(gè)文檔;
命令:“:prev”切換顯示上一個(gè)文檔;
命令:“:first”切換顯示第一個(gè)文檔;
命令:“:last”切換顯示最后一個(gè)文檔。
4)操作的撤銷與恢復(fù)
備注:無(wú)論是u撤銷,還是ctrl+r恢復(fù),前提要是文件不能執(zhí)行了保存。
小寫u:change before(按行,分步驟以時(shí)間軸為單位撤銷最近的動(dòng)作)直至already at oldest change(可撤銷多步);
大寫U:僅撤銷一步操作;
Ctrl+r:change after (按行,分步驟以時(shí)間軸為單位恢復(fù)被撤銷的動(dòng)作)直至already at oldest change;
Ctrl+R:恢復(fù)被撤銷的,一步到底;
linux 下 vi 文本編輯如何復(fù)制一行粘貼刪除一行數(shù)據(jù)
在使用vi有時(shí)會(huì)想直接復(fù)制一行數(shù)據(jù),然后粘貼一行或者直接刪除一行數(shù)據(jù)
復(fù)制一行數(shù)據(jù)的方法
把光標(biāo)放到要復(fù)制的一行前面,然后按兩下yy字母鍵
然后把光標(biāo)放到要復(fù)制到的地方去,按鍵盤的p字母鍵
刪除一行是把光標(biāo)移動(dòng)到要?jiǎng)h除的一行上,按兩下dd鍵
下面是相關(guān)鍵的說(shuō)明:
x,X : 在一行中,x為向后刪除一個(gè)字符(相當(dāng)于del鍵),X為向前刪除一個(gè)字符(相當(dāng)于backspace鍵)。
dd : 刪除光標(biāo)所在的那一整行。
ndd : n 為數(shù)字。從光標(biāo)開始,刪除向下n列。
yy : 復(fù)制光標(biāo)所在的那一行。
nyy : n為數(shù)字。復(fù)制光標(biāo)所在的向下n行。
p,P : p 為將已復(fù)制的數(shù)據(jù)粘貼到光標(biāo)的下一行,P則為貼在光標(biāo)的上一行。
u : 復(fù)原前一個(gè)操作
CTRL + r : 重做上一個(gè)操作。
小數(shù)點(diǎn)'.': 重復(fù)前一個(gè)動(dòng)作。
vim常用命令(刪除、復(fù)制、粘貼、撤銷、查找、插入、光標(biāo)移動(dòng)、選擇、保存、退出)
vim基本操作:
選擇文本
v 從光標(biāo)當(dāng)前位置開始,光標(biāo)所經(jīng)過(guò)的地方會(huì)被選中,再按一下v結(jié)束。
V 從光標(biāo)當(dāng)前行開始,光標(biāo)經(jīng)過(guò)的行都會(huì)被選中,再按一下V結(jié)束。
ctrl+v 從光標(biāo)當(dāng)前位置開始,選中光標(biāo)起點(diǎn)和終點(diǎn)所構(gòu)成的矩形區(qū)域,再按一下Ctrl + v結(jié)束。
ggVG 選中全部的文本,其中g(shù)g為跳到行首,V為選中整行,G為末尾
刪除,復(fù)制,粘貼,撤銷
d 刪除 dd 刪除整行 ndd 刪除n行
x 刪除一個(gè)字符
u 撤銷上一次操作
ctrl+R 反撤銷(撤銷撤銷操作)
y復(fù)制 (復(fù)制到寄存器)
p粘貼 (默認(rèn)從寄存器取出)
常用 先是ESC
i 光標(biāo)前插入文本
a 光標(biāo)后插入文本
o 在下面另起一行,并使當(dāng)前模式轉(zhuǎn)為Insert模式
O(大寫O) 將在當(dāng)前行的上面另起一行
:q 退出
:q! 強(qiáng)制退出
:wq 保存并退出
ZZ 保存并退出
/ 簡(jiǎn)單搜索 /pp 在文件中搜索pp
移動(dòng)命令
$ 將光標(biāo)移動(dòng)到行尾 2$ 移動(dòng)到下一行的行尾 n$ 移動(dòng)到下n行的行尾
^ 將光標(biāo)移動(dòng)到當(dāng)前行第一個(gè)非空白字符上
0(數(shù)字0) 將光標(biāo)移動(dòng)到當(dāng)前行的第一個(gè)字符上
G 將光標(biāo)移動(dòng)到最后一行。 33G 將光標(biāo)移動(dòng)到33行
gg 跳到第一行
Vim 全選復(fù)制粘貼 撤銷 回退 操作
全部刪除:按esc鍵后,先按gg(到達(dá)頂部),然后dG
全部復(fù)制:按esc鍵后,先按gg,然后ggyG
全選高亮顯示:按esc鍵后,先按gg,然后ggvG或者ggVG
單行復(fù)制:按esc鍵后, 然后yy
單行刪除:按esc鍵后, 然后dd
粘貼:按esc鍵后, 然后p
復(fù)制到粘貼板: 全選高亮顯示之后,ctrl+shift+c,
vim只能粘貼50行的問(wèn)題:
在當(dāng)前用戶主目錄編輯~/.vimrc(如果不存在,新建這個(gè)文件),添加一行
:set viminfo='1000,500
至于為什么要輸入輸入’1000,這個(gè)其實(shí)不重要,最主要的是輸入500,它是設(shè)置寄存器保存的行數(shù)的。即最大值為 500
在vim中按u可以撤銷一次操作
u 撤銷上一步的操作
Ctrl+r 恢復(fù)上一步被撤銷的操作
注意:
如果你輸入“u”兩次,你的文本恢復(fù)原樣,那應(yīng)該是你的Vim被配置在Vi兼容模式了。
重做
如果你撤銷得太多,你可以輸入CTRL-R(redo)回退前一個(gè)命令。換句話說(shuō),它撤銷一個(gè)撤銷。要看執(zhí)行的例子,輸入CTRL-R兩次。字符A和它后面的空格就出現(xiàn)了:
young intelligent turtle
有一個(gè)特殊版本的撤銷命令:“U”(行撤銷)。行撤銷命令撤銷所有在前一個(gè)編輯行
上的操作。 輸入這些命令兩次取消前一個(gè)“U”:
A very intelligent turtle
xxxx 刪除very
A intelligent turtle
xxxxxx 刪除turtle
A intelligent
用“U”恢復(fù)行
A very intelligent turtle
用“u”撤銷“U”
A intelligent
“U”命令自己改變自己,“u”命令撤銷操作,CTRL-R命令重做操作。這有點(diǎn)亂,但不用
擔(dān)心,用“u”和CTRL-R命令你可以切換到任何狀態(tài)。
流行的文本編輯器通常都有前進(jìn)和后退功能,可以在文件中曾經(jīng)瀏覽過(guò)的位置之間來(lái)回移動(dòng)。在 vim 中使用 Ctrl-O 執(zhí)行后退,使用 Ctrl-I 執(zhí)行前進(jìn)。
相關(guān)幫助: :help CTRL-O :help CTRL-I :help jump-motions