Vim - Capslock có bật không?


11

Khi tôi làm việc với Vim, tôi hầu như không bao giờ nhìn vào bàn phím của mình (giống như vậy!) Và điều này thật tuyệt, nhưng đôi khi, tôi vô tình nhấn phím CapsLock và khiến tôi hét vào màn hình.

Bởi vì, bạn biết đấy, jkhông giống như Jtrong chế độ bình thường (vân vân).

Vì vậy, thay vào đó hoặc ánh xạ CapsLockđể nói rằng Ctrltôi muốn hiển thị một thông báo lỗi sẽ cảnh báo tôi ở chế độ bình thường nếu đây là trường hợp.

Có cách nào để Vim cho biết nếu bạn đã CapsLockkích hoạt không?

Lưu ý: Tôi thích giải pháp VimScript / VimL cho tính di động và vì tôi muốn Vim thông báo cho tôi và không phụ thuộc vào hệ thống thực tế.


3
Loại bỏ khóa mũ, bạn không cần nó. Nếu bạn cần phải nhập tất cả các mũ trong hơn 60 giây, hãy giảm gánh nặng trong phím shift.
sidyll

1
Tôi đặc biệt nói rằng tôi không muốn làm điều đó, vì vậy không có lý do gì để đề nghị tôi nên loại bỏ nó.

2
Tôi thấy phím CapsLock rất dễ nhấn và tôi đã ánh xạ lại thành Escape. Làm việc cho tôi. :)
dash-tom-bang

1
Cùng với việc chuyển đổi khóa mũ của tôi thành Escape, đó cũng là một Điều khiển. Vâng, đó là cả một lối thoát và kiểm soát cùng một lúc ! Trong linux, bạn có thể làm như vậy thông qua xmodmap -e "add Control = Escape". Hy vọng bạn thích. :-)
evaryont

CapSee thực hiện công việc trên OS X. Không phải là câu trả lời mà bạn đang tìm kiếm, nhưng nó thực sự là câu trả lời đúng cho hầu hết người dùng Apple.
Earlio

Câu trả lời:


4

Bạn có thể sử dụng một tập lệnh như thế này:

; 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 

Lấy từ đây . Bây giờ Vim sẽ hiển thị CAPS LOCK ON mỗi khi khóa mũ của bạn được bật

Cập nhật: Và đó là tập lệnh cho AHK (Ngôn ngữ kịch bản phím nóng tự động). Theo cuộc trò chuyện này, không thể tạo ra một hành vi mà bạn đang mô tả bằng cách chỉ sử dụng vim.


2
ngôn ngữ gì vậy? Tôi muốn có VimScript / VimL để khiến Vim quan tâm đến điều đó (cập nhật câu hỏi của tôi)

1
Đó là cho AHK (Tự động hóa tập lệnh phím nóng) để không sử dụng cho bạn. Đã thử tìm kiếm từ google và không thể tìm thấy bất cứ điều gì vim cụ thể cho vấn đề của bạn: /

2
Ý tưởng là tốt nhưng làm thế nào tôi có thể đặt nó trong .vimrc của tôi, ví dụ? Làm thế nào để tôi sử dụng điều này với vim? = |
Eduardo Lucio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.