An Introduction to Programming in Emacs Lisp Chapter 10
どうもどうも。
風邪気味状態が続いていて,これはついに!!
とか思っている今日この頃です。
あと,ぶっちゃけ,transient-mark-mode をオンにしておいたほうが,
便利じゃね? とか思ってます。本当に,プロはオフにしているでしょうか?
Chapter 10
- kill-ring
- kill-ring-yank-pointer
- 実はどっちもポインタ
kill-ring-max の値って,みんなは,どのくらいに設定しているのだろうか。
コンクリートジャングル東京に住んでいて,
人との接触がないので,わからんのら〜。
というか,基本引きこもりだからね。ま,それは置いといて。
Exercise
;;; Exercise 10.3 ;; kill-ring-yank-pointer が指す最初の n 個の要素を返す。 ;; 最後に reverse を使わなくてもいい方法を, ;; 思いつけなかったオレっていったい・・・。 (defun n-elem-in-kill-ring-yank-pointer (n) "Display the first n element[s] in kill-ring." (interactive "p") (let ((ret '()) (l kill-ring-yank-pointer)) (while (> n 0) (setq ret (cons (substring-no-properties (car l)) ret)) (setq l (cdr l) n (1- n))) (reverse ret))) ;; たぶん,kill-new とかを直接呼ぶのはあまりよろしくない気がするので, ;; 遊びの場合に限っておいた方がよろしい気がする。 (progn (kill-new "third") (kill-new "second") (kill-new "first") (message "%s "(n-elem-in-kill-ring-yank-pointer 3)) (rotate-yank-pointer 1) (message "%s" (n-elem-in-kill-ring-yank-pointer 3))) ;; *Message* バッファに,(first second third), (second third なんか) ;; と表示される。