muleのカスタマイズをしました。昔からforward-wordで行末に止ま
らないのが気にいらなかったので、my-forward-wordコマンドを作
成してその改善をしました。下記がその関数です。backward-word
も行頭に止まるようにしています。もっと賢い方法もありそうです
が、特に遅い事もなく動いているので満足です。
(defun my-forward-word ()
(interactive)
(let ((current-point (point))
(forward-word-point 0)
(end-of-line-point 0))
(save-excursion
(forward-word 1)
(setq forward-word-point (point))
(goto-char current-point)
(end-of-line 1)
(setq end-of-line-point (point))
(if (= current-point end-of-line-point)
(setq end-of-line-point forward-word-point)
(goto-char current-point)))
(if (<= forward-word-point end-of-line-point)
(forward-word 1)
(end-of-line 1))))
(defun my-backward-word ()
(interactive)
(let ((current-point (point))
(backward-word-point 0)
(beginning-of-line-point 0))
(save-excursion
(backward-word 1)
(setq backward-word-point (point))
(goto-char current-point)
(beginning-of-line 1)
(setq beginning-of-line-point (point))
(if (= current-point beginning-of-line-point)
(setq beginning-of-line-point backward-word-point)
(goto-char current-point)))
(if (>= backward-word-point beginning-of-line-point)
(backward-word 1)
(beginning-of-line 1))))