Vimっぽい設定('o', 'O', 'f', 'F')
Vimの 'o'('O')とか 'f'('F')って使いたいことが多いので、
Emacs Lispで実装してみた。
;; 'o' 次の行に挿入 (defun edit-next-line () (interactive) (end-of-line) (newline-and-indent)) ;; 'O' 前の行に挿入 (defun edit-previous-line () (interactive) (forward-line -1) (if (not (= (current-line) 1)) (end-of-line)) (newline-and-indent)) (global-set-key (kbd "M-o") 'edit-next-line) (global-set-key (kbd "M-O") 'edit-previous-line) ;; 'f' 後方の入力した文字の上に移動 (defun forward-match-char (n) (interactive "p") (let ((c (read-char))) (dotimes (i n) (forward-char) (skip-chars-forward (format "^%s" (char-to-string c)))))) ;; 'F' 前方の入力した文字の上に移動 (defun backward-match-char (n) (interactive "p") (let ((c (read-char))) (dotimes (i n) (skip-chars-backward (format "^%s" (char-to-string c))) (backward-char)))) (global-set-key (kbd "M-l") 'forward-match-char) (global-set-key (kbd "M-L") 'backward-match-char)
'Alt + キー'ではなく、Escを前に押すとより Vimっぽい感じで使えます。
M-fはさすがに同じにできないですので、違うキーにしました。
余談
こんなことが 1キーストロークできたら便利だなってことで、
いろいろ考えては割り当てていましたが、結局慣れなくて使わないのが
大半です。なんでひとつ思いついたら次々に新しいことを考えずにそれを
じっくり使ってみようかと思います。