練習:バッファ内で指定した文字数の場所にジャンプする
バッファ内を行ったり来たりする組み込み関数を覚えるのは大変そう。
とりあえず最初に見かけたgoto-charを使ってみる。
(defun jump-to-word-point (jump-point) (interactive "nPoint: \n") (if (> jump-point (point-max)) (setq jump-point (point-max))) (if (< jump-point (point-min)) (setq jump-point (point-min))) (goto-char jump-point))
M-x jump-to-word-point と入力すると、ミニバッファに"Point: "と出る。
そこで数字を入力すると先頭から数えて指定文字数分だけ進んだところにカーソルが移動する。
コード上はバッファ内の文字数オーバーとか負の値とかに配慮してある風だけど、なくても変なところに飛んでいったりしないぽい。
覚えた関数
関数名 | 動作 |
---|---|
point | バッファ内のカーソルのある文字位置を返す |
point-max | バッファの最後の文字位置を返す |
point-min | バッファの最初の文字位置(通常は1)を返す |
goto-char | 引数にとる値の文字位置にカーソルを移動する |