vimcaps : Toggle off capslock when back to normal mode.
| script karma
Downloaded by 2169
Comments, bugs, improvements
script versions (upload new version)
Never be bothered by caps lock.
As is known, capslock is almost useless in vim's normal mode. If it happens that the capslock is locked, you know what the fuck is going to happen:
+ You want to move up, but came out a man;
+ You wanna move down, but line joins;
+ You try to undo those joins, but it undo itself;
So, lots of vimmers disabled the capslock or map it to another key. Yes, that is a beautiful solution. I don't like capslock too. But someday, I notice that the capslock is still useful, ---if you have to use an on screen keyboard (e.g., with a touch screen) Then I decide to do a simple thing instead of remap the keyboard: Toggle off the capslock when back to normal mode, ---that is what this plugin do.
vimcaps now support Windows and Linux (actually xWindow, we need Xlib), TTYs are still not supported. BSD hasn't been tested, suggestions are welcomed. Since I don't have a mac, there won't be any mac support until someone send a pull request. :)
Linux support may have some bug (Although according to my test, only with such a strange way can vimcaps work. I'm using ubuntu 13.10 and a logitech small keyboard and onboard BTW). What we need to know is that, xWindow have a shift lock modifier. I don't know if such a lock exists on a physical keyboard or not, but Xlib functions can't change onboard's shift lock. So this shift lock is still a problem.
After install, this plugin will automatically handle the capslock for you: vimcaps register autocmd for toggle off the capslock when InsertLeave, BufferWinEnter and FocusGained. Note that FocusGained may don't work if you are under a terminal.
Starting from 0.0.3, vimcaps provide a function vimcaps#statusline() in order to display the keyboard locks status on the statusline. You'll need to add it to your statusline settings to enable it.
More information can be obtained from the source, or check out:
|If you download the package from vim.org, unzip the package to your vimfiles folder.
For Linux user, you need to compile the library manually, or let vimcaps compile it automatically. make, gcc, Xlib must be installed first.
For vundle and vim-addons-manager user, please visit:
Click on the package to download.
ip used for rating: 184.108.40.206
||Add option to disable the autocmd (use the statusline function only, for example);
Restructured, move most code into autoload/vimcaps.vim
||vimcaps now support xWindow, hence version became 0.1.0. :)
||Add "vimcaps#statusline()" function for displaying the keyboard lock status in statusline.
||Optimize functions, add some high level function for numlock and scrollock, add vimcaps#dance() function for fun. Let's dance! :)