เป็นกลุ่ม - Capslock เปิดอยู่?


11

เมื่อฉันทำงานกับ Vim ฉันแทบไม่เคยดูแป้นพิมพ์ของฉัน (อย่างที่ควรจะเป็น!) และนี่ก็เยี่ยมมาก แต่บางครั้งฉันกดปุ่ม CapsLock โดยไม่รู้ตัวและทำให้ฉันตะโกนที่หน้าจอ

เพราะคุณรู้ว่าjไม่เหมือนกับJในโหมดปกติ (และอื่น ๆ )

ดังนั้นแทนที่จะทำแผนที่หรือCapsLockบอกว่าCtrlฉันต้องการที่จะแสดงข้อผิดพลาดที่จะเตือนฉันในโหมดปกติถ้าเป็นกรณีนี้

มีวิธีในการบอกเป็นกลุ่มCapsLockหรือไม่ถ้าคุณเปิดใช้งานอยู่

หมายเหตุ: ฉันชอบโซลูชัน VimScript / VimL เพื่อความสะดวกในการพกพาและเพราะฉันต้องการให้ Vim แจ้งเตือนฉันและไม่ขึ้นอยู่กับระบบจริง


3
กำจัดแคปล็อคคุณไม่ต้องการมัน หากคุณจำเป็นต้องพิมพ์ตัวพิมพ์ใหญ่ทั้งหมดเป็นเวลานานกว่า 60 วินาทีปล่อยภาระในปุ่ม Shift ของคุณ
sidyll

1
ฉันกำลังบอกว่าฉันไม่ต้องการทำเช่นนั้นโดยเฉพาะดังนั้นจึงไม่มีประเด็นที่จะชี้แนะว่าควรกำจัดมัน

2
ฉันพบว่าปุ่ม CapsLock ง่ายมากที่จะกดฉันจะแมปใหม่เพื่อ Escape ได้ผลสำหรับฉัน :)
dash-tom-bang

1
นอกจากการแปลงตัวล็อคของฉันเป็น Escape แล้วยังเป็นตัวควบคุม ใช่มันเป็นทั้งการหลบหนีและการควบคุมในเวลาเดียวกัน ! ในลินุกซ์, xmodmap -e "add Control = Escape"คุณไม่สามารถทำได้ผ่านทาง หวังว่าคุณจะสนุก. :-)
evaryont

CapSeeทำงานบน OS X ไม่ใช่คำตอบที่คุณต้องการ แต่มันก็เป็นคำตอบที่ถูกต้องสำหรับผู้ใช้ Apple ส่วนใหญ่
earlio

คำตอบ:


4

คุณสามารถใช้สคริปต์เช่นนี้:

; INDICATE WHEN THE CAPS LOCK IS ON WITH A SCREEN MESSAGE
Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption
Gui, Font, caf001e s30 bold ,Verdana ;changes font color, size and font
Gui, Color, af001d;changes background color
Gui +LastFound  ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor,af001d
Gui, Add, Text, ,CAPS LOCK ON
; TOGGLE THE GUI ON AND OFF
~capslock::
   if(0==GetKeyState("capslock","T")){
      Gui,  hide
   }else{
      if(guilocation>0){
         guilocation=0
         Gui, Show,x600 y800 NoActivate
      }else{
         guilocation=1
         Gui, Show,x600 y400 NoActivate
      }
   }
return 

ที่นำมาจากที่นี่ ตอนนี้ Vim จะแสดง CAPS LOCK ON ทุกครั้งที่ตัวล็อคของคุณเปิดอยู่

อัปเดต: และนั่นคือสคริปต์สำหรับ AHK (ภาษาสคริปต์ฮอตอัตโนมัติ) ตามการสนทนานี้มันเป็นไปไม่ได้ที่จะสร้างพฤติกรรมของคุณอธิบายโดยใช้เป็นกลุ่มเท่านั้น


2
นั่นคือภาษาอะไร? ฉันต้องการมี VimScript / VimL เพื่อให้ Vim ดูแลสิ่งนั้น (อัปเดตคำถามของฉัน)

1
นั่นคือสำหรับ AHK (สคริปต์ฮอตคีย์อัตโนมัติ) ดังนั้นจึงไม่มีประโยชน์สำหรับคุณ พยายามมองจาก google และไม่สามารถค้นหาสิ่งใดเป็นพิเศษสำหรับปัญหาของคุณ: /

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