/emacs-common/在Windows上配置CapsLock使之对Emacs友好.org
https://github.com/lujun9972/emacs-document · Org · 44 lines · 35 code · 9 blank · 0 comment · 0 complexity · bddf41a8d55fff9bfcf9976ca3b7ea3b MD5 · raw file
- #+TITLE: 在Windows上配置CapsLock使之对Emacs友好
- #+URL: http://www.blogbyben.com/2016/08/an-emacs-friendly-caps-lock.html
- #+AUTHOR: lujun9972
- #+CATEGORY: emacs-common
- #+DATE: [2016-09-07 周三 14:34]
- #+OPTIONS: ^:{}
- 也许这种方法大家早就知道了, 我发现在我的Windows10电脑上将 =Caps Lock= 按键修改成对Emacs友好的 =Hyper= 键后,Emacs好用多了.
- 具体来说,我是怎么做的:
- 第一步. 使用[[http://www.blogbyben.com/2011/03/tool-of-day-autohotkey.html][AutoHotKey]] 来[[https://autohotkey.com/docs/misc/Remap.htm][映射]] =Caps Lock= 键为 =Windows Menu= 键(AutoHotKey将之称为AppsKey).
- #+BEGIN_SRC ahk
- ;; Add this to your standard AutoHotKey configuration
- CapsLock::AppsKey
- #+END_SRC
- 第二步. 使用[[http://ergoemacs.org/emacs/emacs_hyper_super_keys.html][下面这段elisp代码]] 来捕获传递给emacs的Menu键,并将之映射成 =Hyper modifier=:
- #+BEGIN_SRC emacs-lisp
- ;; http://ergoemacs.org/emacs/emacs_hyper_super_keys.html
- (setq w32-pass-apps-to-system nil)
- (setq w32-apps-modifier 'hyper) ; Menu/App key
- #+END_SRC
- 第三步. 完成了! 我现在可以设置带 =H- modifier= 的快捷键了. 例如下面这段代码摘自我的[[http://www.blogbyben.com/2016/08/emacs-php-modern-and-far-more-complete.html][PHP配置]]:
- #+BEGIN_SRC emacs-lisp
- (defun bs-php-mode-hook ()
- (local-set-key '[backtab] 'indent-relative)
- (local-set-key (kbd "<H-left>") 'beginning-of-defun)
- (local-set-key (kbd "<H-right>") 'end-of-defun)
- (auto-complete-mode t)
- (require 'ac-php)
- (setq ac-sources '(ac-source-php ))
- (yas-global-mode 1)
- (setq indent-tabs-mode nil)
- (setq php-template-compatibility nil)
- (setq c-basic-offset 2))
- #+END_SRC
- 这段配置让我打开PHP文件后,再按下 =Caps Lock= 键,就可以通过左右按键在函数定义见跳转了.
- 这个键盘及快捷键的设定让我好像中了奖了一样,太爽了.