読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

『カーソル位置から何行か上にある「あの一行」をカーソル位置にコピペ』する Emacs Lisp 書いてみた

Emacs


カーソル位置から何行か上にある「あの一行」が欲しいなーって時に。
"\C-\M-y"キーに登録しとくと手軽でいい感じかも。

(defvar my-paste-line-search-str "{")
(defun my-paste-that-one-line (&optional search-arg-str)
  "カーソル前の文字列を検索して、その文字列を含む一行をカーソル位置にペースト"
  (interactive (list (read-string
                      (concat "Regexp search backward (default "
                              my-paste-line-search-str
                              "): "))))
  (if (string-equal search-arg-str "")
      (setq search-arg-str my-paste-line-search-str))
  (setq p (point))
  (re-search-backward search-arg-str)
  (setq line (buffer-substring (progn (beginning-of-line) (point))
                               (progn (end-of-line) (point))))
  (setq my-paste-line-search-str search-arg-str)
  (goto-char p)
  (insert line))
(global-set-key "\C-\M-y" 'my-paste-that-one-line)

何も入力しないでリターンキー押すと、前回実行された文字列を含む一行をコピペ。(デフォ文字列はとりあえず"{")



そろそろPythonやりたくなってきたかも。