hohei’s diary

備忘録?

emacsでn文字カーソル移動

移動に便利な avy や ace-jump-mode があるのは知っているのですが,いかんせんブラインドタッチが苦手なのでストレスになります.

なので,単純にn文字カーソル移動 + M-f,M-b するのが自分にはしっくりきてます.同じような人もいるかと思い,教えてもらったコードを公開します ω

;; n文字移動
(defun my-forward-char-n (n)
    (when (eolp)
      (forward-char 1)
      (setq n (1- n)))
    (while (and (not (eolp)) (not (zerop n)))
      (forward-char 1)
      (setq n (1- n))))
(defun my-backward-char-n (n)
    (when (bolp)
      (backward-char 1)
      (setq n (1- n)))
    (while (and (not (bolp)) (not (zerop n)))
      (backward-char 1)
      (setq n (1- n))))

;; キーバインドの設定例
(bind-key "C-j" (lambda () (interactive) (my-forward-char-n 10)))
(bind-key "M-j" (lambda () (interactive) (my-backward-char-n 10)))