เป็นกลุ่มติดอยู่ในโหมดแทรก


52

ฉันใช้ Vim มาหลายเดือนแล้วผ่านโฮสต์เว็บของฉัน (พวกเขาอนุญาตการเข้าถึงแบบฉาบ) ทันใดนั้นescapeกุญแจก็ไม่ตอบสนอง ฉันไม่สามารถแทรกหรือโหมดอื่นได้โดยกดปุ่ม Escape ฉันต้องกดปุ่มF1ซึ่งนำความช่วยเหลือในกลุ่มและเตะฉันเข้าสู่โหมดคำสั่ง

ฉันมั่นใจมากที่สุดว่าแป้น Escape ของฉันบนแป้นพิมพ์ทำงานได้ดีเนื่องจากทางลัดของ windows ทั้งหมดที่ใช้แป้น Escape นั้นทำงานได้ตามปกติ

ฉันรู้ว่านี่เป็นคำถามที่ไร้สาระและฉันมั่นใจว่ายังมีอีกมากที่ต้องพิจารณาเกี่ยวกับการแก้ปัญหา สิ่งที่ฉันต้องการจริงๆคือผู้นำที่แข็งแกร่งว่าจะเริ่มมองหาที่ไหน

สิ่งที่อาจช่วยได้:

  1. ฉันใช้เสียงเรียกเข้าผ่านทางโป๊ว
  2. ฉันกำลังเข้าสู่ระบบโดยใช้การเจล
  3. ฉันไม่ได้หยั่งราก

ตั้งค่าเทอร์มินัลของคุณคืออะไร? คือตัวแปรสภาพแวดล้อม TERM ถูกตั้งค่าเป็นอะไร (ในเชลล์ระยะไกล)
ต้มตุ๋น quixote

$ TERM ถูกตั้งค่าเป็น 'xterm'
Levi Hackwith

ไม่Ctrl-[ทำงานหรือไม่ คุณจะได้อะไรถ้าคุณกดCtrl-vแล้วหลบหนี ^[มันควรจะแสดงเป็น
Dennis Williamson

Ctrl- [ทำงานแล้ว ร็อค! สิ่งนี้ช่วยให้ฉันผิดหวังมาก มีโอกาสใดบ้างที่คุณสามารถอธิบายได้ว่าทำไมescไม่ทำงานอีกต่อไป? นอกจากนี้โปรดโพสต์ความคิดเห็นของคุณเป็นคำตอบเพื่อที่ฉันจะได้ยอมรับมัน
Levi Hackwith

ความคิดแรกของฉันเมื่ออ่านข้อความนี้: "โอ้เขาทำลายปุ่ม 'เอาฉันออกไปจากที่นี่'
ดาเนียล

คำตอบ:


16

ลองใช้แทนCtrl-[Esc

ผลลัพธ์ของ:

python -c "print ord(raw_input('char '))"

เมื่อคุณกดEscและEnter? ควรเป็น "27" ผลลัพธ์ของการกดCtrl-Vนั้นEscคืออะไร?

คุณได้ตรวจสอบการตั้งค่าทั้งหมดใน PuTTY เพื่อดูว่าเหมาะสมหรือไม่

คุณกำลังใช้ Bash บนระบบรีโมตหรือไม่? ดูผลลัพธ์ของ

bind -p | grep -i '\\e' | less

และดูว่าคุณเห็นอะไรผิดปกติหรือไม่ คุณมีไฟล์ชื่อ~/.inputrcหรือไม่? ดูเนื้อหาเพื่อดูว่ามีอะไรผิดปกติหรือไม่

ดูของคุณ~/.vimrcและดูว่าทุกอย่างก็โอเคเช่นกัน


Ctrl-C ควรจะจบแทรกโหมดเช่นกัน (ว่า '[' เป็นบางครั้งบิตหากินที่จะได้รับบนแป้นพิมพ์บางส่วน)
อากิระ

1
ฉันรันสคริปต์ python และมันกลับมาเป็นสตริงว่าง ฉันจะแก้ไขได้อย่างไร ฉันใช้ผงสำหรับอุดรู
Keith

@Keith: คุณลองคำแนะนำการวินิจฉัยอื่น ๆ หรือไม่?
Dennis Williamson

ctrl + [ทำงานให้ฉันด้วยเหตุผลใดก็ตามไม่ทราบว่าฉันทำอะไรเพื่อทำให้เสียงเรียกเข้าของฉันติดขัด
Derek Adair

145

ฉันกดCtrl+ ผิดsและติดอยู่ในโหมดแทรก ที่จะได้รับจากมันใช้+Ctrlq


7
XOFFที่ไม่ได้ใส่โหมดว่า คุณสามารถปิดการใช้งานซอฟต์แวร์โฟลว์คอนโทรลได้โดยทำstty -ixon(เพิ่มลงในของคุณ~/.bashrc) จากนั้นการกดแป้นนั้นจะสามารถใช้ได้กับสิ่งอื่น โดยค่าเริ่มต้นใน Bash จะผูกพันกับforward-search-history(ตรงกันข้ามกับ Ctrl-r) Ctrl-q (Bash quoted-insert) ก็จะมีให้เช่นกัน
เดนนิสวิลเลียมสัน

@DennisWilliamson จะไม่.bash_profileดีกว่านี้ไหม? ไม่จำเป็นต้องปิดในเชลล์ที่ไม่มีการโต้ตอบใช่ไหม?
Piotr Dobrogost

1
@PiotrDobrogost: "เมื่อเชลล์การโต้ตอบที่ไม่ใช่เชลล์ล็อกอินเริ่มทำงาน Bash จะอ่านและดำเนินการคำสั่งจาก ~ / .bashrc หากไฟล์นั้นมีอยู่" .bash_profileจะดำเนินการเฉพาะเมื่อ Bash เป็นเปลือกเข้าสู่ระบบ "ดังนั้นโดยปกติแล้ว ~ / .bash_profile ของคุณจะมีบรรทัดif [ -f ~/.bashrc ]; then . ~/.bashrc; fi"
Dennis Williamson

2
ขอบคุณ! นั่นคือสิ่งที่ฉันทำ ดีใจที่คนอื่น ๆ ช่วยประหยัดแบบนั้นโดยไม่คำนึงถึงโปรแกรม :-)
NullVoxPopuli

4
ช่วยฉันสองครั้ง
Elazar

4

บางทีคุณอาจจะใช้โหมดแทรก

'insertmode' 'im' 'noinsertmode' 'noim'
บูลีน (ปิดเป็นค่าเริ่มต้น)
ทำให้ Vim ทำงานในลักษณะที่โหมดแทรกเป็นโหมดเริ่มต้น มีประโยชน์ถ้าคุณต้องการใช้ Vim เป็นตัวแก้ไขที่สร้าง ใช้สำหรับ | evim |
[... ]
- ใช้CTRL-Oเพื่อดำเนินการคำสั่งโหมดปกติหนึ่งคำสั่ง | i_CTRL-O |) เมื่อนี่คือการทำแผนที่มันจะดำเนินการราวกับว่า 'insertmode' ถูกปิด โหมดปกติยังคงใช้งานอยู่จนกว่าการทำแผนที่จะเสร็จสิ้น - ใช้CTRL-Lเพื่อเรียกใช้งานคำสั่งโหมดปกติจำนวนหนึ่งจากนั้นใช้ Escเพื่อกลับไปที่โหมดแทรก โปรดทราบว่าCTRL-Lเลื่อนเคอร์เซอร์ไปทางซ้ายเช่นเดียวกับเมื่อไม่ได้ตั้งค่า 'โหมดแทรก' | i_CTRL-L |

ฉันขอแนะนำให้แก้ไข~/.vimrcเพื่อเพิ่มบรรทัดต่อไปนี้:

set noinsertmode         "disable insert mode

1
ในกรณีของฉันมันติดอยู่ในโหมดแทรกเพราะฉันเคยใช้ `-y 'ใน commandline ดังที่ได้กล่าวไว้ในคู่มือ: -y เริ่ม Vim ในโหมดง่าย ๆ เช่นเดียวกับไฟล์เรียกทำงานที่เรียกว่า" evim "หรือ" eview " ทำให้ Vim ทำงานเหมือนตัวแก้ไขคลิกและชนิด หากต้องการออกจาก "โหมดความง่ายดาย" นี้ให้ใช้ <kbd> CTRL </kbd> + <kbd> l </kbd> (L ตัวพิมพ์เล็ก) ตามที่กล่าวโดย + SandRock
ตัน

0

ฉันมีปัญหานี้ แต่รู้ว่ามันมาจากการเปลี่ยนโหมดอินพุต SCIM โดยไม่ตั้งใจเป็น "อื่น ๆ - รหัส RAW" ฉันเปลี่ยนกลับเป็นภาษาอังกฤษ / แป้นพิมพ์และไม่มีปัญหาใด ๆ เพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.