ฉันกำลังประสบปัญหาแปลก ๆ Escกับการทำแผนที่ของโหมดปกติ
หากคุณสร้างไฟล์escmapvimrc
ด้วยเนื้อหา:
set nocompatible
set showcmd " Doesn't affect the problem: just makes it easier to see
nnoremap <Esc> :noh<CR><esc>
จากนั้นเริ่มเป็นกลุ่มโดยใช้ vimrc นี้:
vim --noplugin -u escmapvimrc
จากนั้นเป็นกลุ่มจะเริ่มต้นในโหมดผู้ประกอบการที่รอการมีคำสั่งรอสำหรับการป้อนข้อมูลเพิ่มเติมการแสดงไฟล์ที่ว่างเปล่าและมีบรรทัดคำสั่งแสดงc
:noh
หากคุณลบnnoremap
บรรทัดปัญหาจะหายไป
หากคุณทำการดีบั๊กและทำตามขั้นตอนทุกอย่างที่คุณได้รับผลลัพธ์ต่อไปนี้:
Entering Debug mode. Type "cont" to continue.
/[...]/escmapvimrc
line 1: set nocompatible
>s
/[...]/escmapvimrc
line 2: set showcmd " Doesn't affect the problem: just makes it easier to see
>s
/[...]/escmapvimrc
line 3: nnoremap <Esc> :noh<CR><esc>
>s
/[...]/escmapvimrc
line 4: End of sourced file
>s
Press ENTER or type command to continue
หลังจากที่คุณกด Enter หน้าจอเริ่มต้นเป็นกลุ่มจะปรากฏขึ้นและใต้:
Entering Debug mode. Type "cont" to continue.
cmd: noh
>s
จากนั้นหน้าจอเริ่มต้นของ Vim จะหายไปและคุณอยู่ในโหมดรอดำเนินการตามที่อธิบายไว้ข้างต้น
เกิดอะไรขึ้น?
แก้ไข:พฤติกรรมตามที่อธิบายไว้ใน Vim 7.3 ใน Vim 7.4.52 nmap
ทำให้ Vim เริ่มทำงานในโหมดแทนที่เมื่อเริ่ม Vim โดยไม่มีไฟล์ (หาก Vim 7.4.52 เริ่มต้นด้วยไฟล์อย่างไรก็ตามมันก็จะเริ่มต้นด้วยคำสั่ง c-สัตย์ซื่อ) ทั้งสองวิธีปัญหาจะหายไปเมื่อลบ nmap ออก
nnoremap <c-l> :noh<cr><c-l>
/alksdjflaskj
เพื่อล้างไฮไลต์การค้นหาที่ค่อนข้างเร็วเช่นกัน
:noh
ให้ฉัน การทำเช่นเดียวกันกับ gvim ไม่แสดงพฤติกรรมนี้