วิธีสร้างหน้าจอ vi


111

เมื่อฉันใช้

git commit --amend

มันจะเข้าสู่หน้าต่าง vi เพื่อให้ฉันป้อนความคิดเห็นสำหรับการกระทำปัญหาคือหน้าต่าง vi จะแสดงอักขระสกปรกจากพื้นหลังของเชลล์ในอดีต ดังนั้นฉันจึงสงสัยว่าฉันจะให้ vi โหลดซ้ำหรือวาดหน้าจอใหม่เพื่อให้หน้าจอปกติได้อย่างไร

จนถึงตอนนี้ฉันลองรีเซ็ตเทอร์มินัลและ Ctrl + L ก็ใช้ได้ แต่ฉันสงสัยว่ามีคำตอบที่ดีที่สุดสำหรับสถานการณ์เช่นนี้หรือไม่?

คำตอบ:


216

ฉันใช้ctrl+ Lเพื่อจุดประสงค์ดังกล่าวมา 35 ปีแล้วมีอะไรผิดปกติ?


2
control + L ดูเหมือนจะไม่ได้ผลสำหรับฉัน ฉันต้องรีเซ็ตเทอร์มินัลก่อน ไม่รู้ทำไม ....
Sam Liao

7
.vimrc ของคุณตั้งค่า 'term' หรือไม่ บางทีอาจเป็นการตั้งค่าไม่ถูกต้อง
Laurence Gonsalves

6
@AlexMartelli: ctrl + L ดูเหมือนจะไม่ได้ผลกับ Putty !redrawมีความหลากหลายมากขึ้น
gsbabil

10
ctrl + l ใช้ไม่ได้สำหรับฉันดูเหมือนว่าจะขึ้นอยู่กับเทอร์มินัลของคุณ ด้วย: วาดใหม่! ดูเหมือนว่าการแก้ปัญหาสำหรับทุกคน
DebugXYZ

2
สำหรับผู้ที่กล่าวถึง <CL> ไม่ทำงานฉันคิดว่าคุณอาจแมปการผูกคีย์กับอย่างอื่น ในกรณีนั้นให้ใช้:redraw!
huangzonghao


4

ใน Vi ทั้งสองสิ่งเหล่านี้วาดใหม่:

  • ^ R (ใช้ไม่ได้กับเทอร์มินัลประเภท VT100)
  • ^ L (ใช้ไม่ได้กับเทอร์มินัลของ Televideo)

จากhttp://www.cs.rit.edu/~cslab/vi.html#A1.4 (ลิงก์ที่ตายแล้วดูที่เก็บถาวร )

ตามที่ระบุไว้ในความคิดเห็นตอนนี้ Vim ใช้ ^ R สำหรับทำซ้ำและ ^ L เพียงอย่างเดียวสำหรับการวาดใหม่


7
^ R ทำซ้ำไม่ใช่เหรอ ^ L เหมาะสำหรับฉันในการวาดหน้าจอใหม่
Geremia

@Geremia ขึ้นอยู่กับประเภทของเทอร์มินัลอย่างเห็นได้ชัด ^ L อาจเป็นเรื่องปกติมากขึ้น
Tim Sylvester

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