[英]In Vim, why is temporary Normal Mode (Ctrl-O from Insert Mode) executing commands much slower?
通常,當我想在Vim中編輯文本時撤消更改時,我必須:
Esc
退出插入模式 u
撤消更改 i
, o
等...) 現在,我只是一個初學者,但據我所知,在插入模式下,您可以使用Ctrl-O
暫時轉換為一個命令的正常模式。
知道了這一點,當我想要撤消文本的變化時,我想:為什么不只是逃到臨時正常模式並按下u
而不必處理Esc
所有惡作劇並在模式之間切換?
所以我做了以下事情:
Ctrl-O
進入一個命令的臨時正常模式 u
撤消更改 它的工作原理......除了非常非常。 慢。 執行撤消后,光標將立即置於該位置,但直到約2秒后才會顯示文本中的更改。 那是一段很長的時間。
我以為只是我的電腦因為某些原因而慢慢運行,但我做了老派的方式,撤消立即執行。 當然,並非所有命令都是如此。 當我嘗試dd
並刪除整行時,它可以正常工作 - 立即。
所以我的問題是:為什么? 臨時正常模式與按Esc
輸入的正常模式不一樣嗎? 它與緩沖區,交換文件或幕后發生的任何事情有關嗎? 這是在Vim編輯器中實現undo
的方式嗎?
看起來Vim正在等待可能的第二次按鍵,即對命令的動作(例如, dw
,其正常執行)。 顯然u
命令沒有動作,但是雙擊uu
會快速執行撤消,然后它會將下一個u插入到文檔中。 我懷疑這是'臨時正常模式'如何決定何時返回'插入模式'的怪癖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.