新聞中心

- 對文件內(nèi)容做了修改之后,卻發(fā)現(xiàn)整個(gè)修改過程是錯誤或者沒有必要的,想將文件恢復(fù)到修改之前的樣子。
- 將文件內(nèi)容恢復(fù)之后,經(jīng)過仔細(xì)考慮,又感覺還是剛才修改過的內(nèi)容更好,想撤銷之前做的恢復(fù)操作。
基于這 2 種需求,Vim 編輯器提供了撤銷和恢復(fù)撤銷的命令,如表 1 所示。
| 快捷鍵 | 功能 |
|---|---|
| u(小寫) | undo 的第 1 個(gè)字母,功能是撤銷最近一次對文本做的修改操作。 |
| Ctrl+R | Redo 的第 1 個(gè)字母,功能是恢復(fù)最近一次所做的撤銷操作。 |
| U(大寫) | 第一次會撤銷對一行文本(光標(biāo)所在行)做過的全部操作,第二次使用該命令會恢復(fù)對該行文本做過的所有操作。 |
下面通過一個(gè)例子來演示以上 3 個(gè)命令的具體用法。首先,我們新建一個(gè) demo.txt 文件并打開,鍵入一行內(nèi)容,例如:
http://c.biancheng.net
然后按“Esc”鍵,使 Vim 由輸入模式轉(zhuǎn)為命令模式,并使用 yy 命令將這一行文本復(fù)制到剪貼板中,如此我們就可以在文本任意位置通過鍵入 p(或大寫的 P)命令將復(fù)制的內(nèi)容粘貼到光標(biāo)所在的位置。
假設(shè)我們將光標(biāo)調(diào)整到第一行最后一個(gè)字符處,連續(xù)按兩次 p 命令(粘貼 2 次),則此時(shí)文本中的內(nèi)容變?yōu)椋?
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
在此基礎(chǔ)上,通過 u(小寫)命令就可以使文本內(nèi)容恢復(fù)到上一次做粘貼操作之前的樣子,其中“上一次”的含義是,恢復(fù)操作是可以疊加的,即按一次就會在現(xiàn)有基礎(chǔ)上做一次恢復(fù)操作。
比如,繼續(xù)操作 demo.txt 文件,按一次 u,會發(fā)現(xiàn)其文本內(nèi)容變?yōu)椋?
http://c.biancheng.net
http://c.biancheng.net
再按一次 u,文本內(nèi)容繼續(xù)恢復(fù)為:
http://c.biancheng.net
同樣,恢復(fù)撤銷的操作和撤銷操作是相對應(yīng)的,通過按 Ctrl+R 組合鍵,可以撤銷之前所做的一次恢復(fù)操作。例如,繼續(xù)操作 demo.txt 文件,按一次 Ctrl+R,會發(fā)現(xiàn)其文本內(nèi)容恢復(fù)為:
http://c.biancheng.net
http://c.biancheng.net
再按一次 Ctrl+R,文本內(nèi)容又恢復(fù)為:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
U(大寫)的功能和之前的 2 個(gè)命令不同,它的作用是撤銷或恢復(fù)撤銷對光標(biāo)所在行文本所做的全部操作。比如,我們對 demo.txt 文件內(nèi)容做如下修改:
http://c.biancheng.net
http://c.biancheng.net
Linux教程 http://c.biancheng.net/linux_tutorial/
可以看到,這里對第三行文本做了 2 處修改(紅色標(biāo)注部分)。在此基礎(chǔ)上,如果在命令模式下鍵入 U(大寫),可以看到,之前對第 3 行所做的 2 處修改,全部被恢復(fù)了:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
如果此時(shí)再鍵入 U(大寫),則又會恢復(fù)之前對第 3 行文本做過的全部操作:
http://c.biancheng.net
http://c.biancheng.net
Linux教程 http://c.biancheng.net/linux_tutorial/
標(biāo)題名稱:LinuxVim撤銷和恢復(fù)撤銷快捷鍵用法詳解
網(wǎng)頁URL:http://www.fisionsoft.com.cn/article/djoephd.html


咨詢
建站咨詢
