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