Created
September 1, 2013 00:34
-
-
Save tam17aki/6401556 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(lazyload (highlight-symbol-all | |
highlight-symbol-moccur | |
highlight-symbol-occur-by-moccur) "highlight-symbol" nil | |
(defun highlight-symbol-all (&optional nlines) | |
"Use all for highlighted symbols." | |
(interactive "P") | |
(if (thing-at-point 'symbol) | |
(all (highlight-symbol-get-symbol) nlines) | |
(error "No symbol at point."))) | |
(defun highlight-symbol-moccur (&optional arg) | |
"Use all for highlighted symbols." | |
(interactive "P") | |
(if (thing-at-point 'symbol) | |
(moccur (highlight-symbol-get-symbol) arg) | |
(error "No symbol at point."))) | |
(defun highlight-symbol-occur-by-moccur (&optional arg) | |
"Use all for highlighted symbols." | |
(interactive "P") | |
(if (thing-at-point 'symbol) | |
(occur-by-moccur (highlight-symbol-get-symbol) arg) | |
(error "No symbol at point.")))) | |
(dolist (hook (list | |
'c-mode-common-hook | |
'c++-mode-hook | |
'php-mode-hook | |
'ruby-mode-hook | |
'cperl-mode-hook | |
'javascript-mode-hook | |
'js-mode-hook | |
'js2-mode-hook | |
'html-mode-hook | |
'octave-mode-hook | |
'matlab-mode-hook | |
'lisp-mode-hook | |
'emacs-lisp-mode-hook)) | |
(add-hook hook '(lambda () (highlight-symbol-mode t)))) | |
(global-set-key [f3] 'highlight-symbol-at-point) | |
;; (global-set-key [(control f4)] 'highlight-symbol-next) | |
;; (global-set-key [(control f3)] 'highlight-symbol-prev) | |
(global-set-key [(control f3)] 'highlight-symbol-next) | |
(global-set-key [(control f4)] 'highlight-symbol-prev) | |
(require 'key-chord nil t) | |
(require-if-locate key-chord | |
(key-chord-mode 1) | |
(defadvice toggle-input-method (around toggle-input-method-around activate) | |
(let ((input-method-function-save input-method-function)) | |
ad-do-it | |
(if (eq input-method-function nil) | |
(setq input-method-function input-method-function-save)) | |
;; 日本語入力時はkey-chordをOFFにする | |
(key-chord-mode (if current-input-method 0 1)))) | |
;; 同一キー連続押しをkey-chordと判定する最大許容時間 | |
;; →この時間以内に押せばkey-chordになる | |
(setq key-chord-one-key-delay 0.18) | |
;; 2つキー同時押しをkey-chordと判定する許容時間 | |
(setq key-chord-two-keys-delay 0.08) | |
(key-chord-define-global "ie" 'iedit-mode) | |
(key-chord-define-global "gl" 'goto-line) | |
(key-chord-define-global "lp" 'list-packages) | |
(key-chord-define-global "pw" 'psw-switch-buffer) | |
(key-chord-define-global "pr" 'psw-switch-recentf) | |
(key-chord-define-global "JJ" 'comment-region) | |
(key-chord-define-global "FF" 'uncomment-region) | |
(key-chord-define-global "RE" 'replace-string) | |
;;; highlight-symbol | |
;; F3 ... シンボルのハイライト | |
;; C-F3 ... シンボルのisearch (prev) | |
;; C-F4 ... シンボルのisearch (next) | |
;; M-F3 ... query replace (カーソル以降) | |
;; S-F3 ... occur | |
;; C-M-F3 ... all-modeへ移行 | |
;; →シンボルのisearchやqueryなどはハイライトせずとも使用可能 | |
(key-chord-define-global "HH" 'highlight-symbol-at-point) | |
(key-chord-define-global "UU" 'highlight-symbol-query-replace) | |
(key-chord-define-global "OO" 'highlight-symbol-occur) | |
(key-chord-define-global "LL" 'highlight-symbol-moccur) | |
(key-chord-define-global "MM" 'highlight-symbol-occur-by-moccur) | |
(key-chord-define-global "II" 'highlight-symbol-all) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment