Open keicy opened 7 years ago
with-eval-after-load-feature
bundle
(with-eval-after-load-feature 'company (bind-keys :map company-active-map ("C-<return>" . company-abort) ("M-p" . nil) ("M-i" . company-select-previous) ("M-n" . company-select-next) ;デフォルトでこれだが明示的に ;("<tab>" . company-complete-common-or-cycle) ; デフォルト: company-complete-common ))
【追記】
この定義方法は、追加は問題なくできるが、デフォルトの挙動を上書きはできず負けてしまうという問題が発覚した、。 これではなく、下記の方法を用いるとちゃんと上書きできるのでこちらの方法でリファクタ実施する。
(defun my-inf-binds() (bind-keys :map ensime-inf-mode-map ; システムコマンド ("M-<return>" . execute-extended-command) ("C-<tab>" . keicy-window-or-split) ("C-<return>" . comint-accumulate) ; デフォルトで M-<return> に割り当てられていたもの ; 編集 ("M-j" . backward-char) ;一文字戻る ("C-M-j" . backward-word) ;一単語戻る ("M-k" . forward-char) ;一文字進む ("C-M-k" . forward-word) ;一単語進む ;("C-d" . delete-char) ;DEL ; これを追加すると `cntl-D` が効かなくなるので排除.ただこれがなくともデフォルトでこのバインドがシェル側に定義されているので困らない. ("C-M-d" . keicy-delete-word) ;単語DEL ("C-f" . delete-backward-char) ;Backspace ("C-M-f" . keicy-backward-delete-word) ;単語Backspace ("M-," . beginning-of-line) ;行頭 ("M-." . end-of-line) ;行末 )) (add-hook 'ensime-inf-mode-hook 'my-inf-binds)
上記コミットは間違って関連付けてpushしてしまった関係ない別イシューのもの。注意!
with-eval-after-load-feature
を使うようにするwith-eval-after-load-feature
はbundle
の中でなくても単独で使える【追記】
この定義方法は、追加は問題なくできるが、デフォルトの挙動を上書きはできず負けてしまうという問題が発覚した、。 これではなく、下記の方法を用いるとちゃんと上書きできるのでこちらの方法でリファクタ実施する。