Vim
使用 ctrl+c 而不是 esc 退出插入模式會破壞 vi 中的任何內容嗎?
使用 vi 時,您可以使用
Ctrl
+C
而不是更傳統的Esc
. 是否存在不希望使用前者而不是後者的情況?除了最佳實踐之外,它會破壞其他任何東西嗎?
Ctrl-C
並且在大多數模式下Esc
都不相同vi
,vim
包括插入模式。不同之處在於Esc
觸發縮寫,而Ctrl-c
不會觸發。這對您是否重要取決於您或您使用的任何外掛是否使用縮寫。請注意
Esc
,在.Ctrl-C
_ 來自同一站點的另一個範例是退出塊插入模式時(不在)。vim``vi
如果您指的是
vim
,則略有不同。CTRL-C
不檢查縮寫,也不觸發InsertLeave
事件。因此,如果您的外掛定義了任何autocmd
依賴於 的語句InsertLeave
,它們將不會被觸發。從官方文件http://vimhelp.appspot.com/insert.txt.html:
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish abbreviation. CTRL-C Quit insert mode, go back to Normal mode. Do not check for abbreviations. Does not trigger the InsertLeave autocommand event.
CTRL-C
您可以為to定義一個映射<esc>
,然後它將觸發InsertLeave
。