簡體   English   中英

在插入模式下不丟失撤消序列的Vim map esc鍵?

[英]Vim map esc key in insert mode without losing undo sequence?

我有一個關於Vim的問題。 到目前為止,我一直將map理解為平等的命令。 就是這個 我將imap <co> <esc>o放在我的.vimrc文件中以開始新行。 至於為什么不僅僅映射<CR>的原因是我遵循了Drew Neil的建議,即使用esco命令來替換,以便可以逐行使用undo命令行。 但是,當我使用<co>來開始一行時, undo命令不起作用, 這意味着即使我映射了<esc>Vim也不會切換模式 我不知道Vim是功能還是bug? 如果您能以某種方式幫助我,我將不勝感激。

您可以使用inoremap <co> <cg>u<esc>o獲得所需的行為。 <cg>u中斷當前的撤消序列(請參見:h i_CTRL-G_u )。

實際上,我從未想過為什么在插入映射中包含<esc>不會被視為破壞撤消序列。 我當然可以推理出為什么,但是這樣做會很危險,所以我不會:)

編輯添加:更簡單的是: inoremap <co> <cg>u<cr>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM