簡體   English   中英

在命令行模式下為Vim重新映射Esc

[英]Remap Esc in Command Line Mode for Vim

我想使用<leader>e從我所處的任何模式返回正常模式。對於插入模式,我使用

inoremap <leader>e <esc>

我希望退出命令行模式也是一樣,所以我寫了

cnoremap <leader>c <esc>

但是,當退出命令行模式時,它將嘗試執行通過命令行編寫的所有內容。 但是,當我通常只使用<esc> ,它存在命令行模式而不執行任何操作。 我通常必須按<enter>來執行命令。

任何人都可以幫助我了解這里發生的事情以及如何做才能得到我想要的行為。

謝謝!

根據幫助:

CTRL-[                      *c_CTRL-[* *c_<Esc>* *c_Esc*
<Esc>       When typed and 'x' not present in 'cpoptions', quit
        Command-line mode without executing.  In macros or when 'x'
        present in 'cpoptions', start entered command.

似乎“在宏中”也適用於映射的右側(嗯,它不是“類型化的”)。 您可以改用CTRL-C ,因為它將永遠不會執行以下命令:

                            *c_CTRL-C*
CTRL-C      quit command-line without executing

所以做:

cnoremap <leader>c <c-c>

暫無
暫無

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

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