browse-kill-ring+ 20170221.757(in MELPA)
Extensions to `browse-kill-ring.el'.

概要

second-sel.el では、
SECONDARYクリップボードを使うことで
事実上もうひとつのキルリングを手に入れました。

とはいえ、完全なキルリングではなく、
1つのテキストしか記憶できません。

browse-kill-ring.el では
キルリングの内容を一覧できますが、

ここで紹介する browse-kill-ring+.el でも
SECONDARYクリップボードに複数のテキストを
記憶させ一覧できるようにします。

SECONDARYクリップボードの
履歴を一覧するとも言えます。

このパッケージを使うには、
second-selパッケージの
インストールが前提です。

browse-kill-ring+.elは
browse-kill-ring.elの関数を再定義しますので、
インストールした時点でbrowse-kill-ring+.elの
実装を使うことになります。

別にSECONDARYクリップボードは
そんなに使わないし、
ちょっと試していらないかなと
思ったら削除してください。

難点を言うと、パッケージ名からは
パッケージの内容がわからないことです(^^;

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてbrowse-kill-ring+を使う方は
以下のコマンドを実行します。

M-x package-install browse-kill-ring+

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name browse-kill-ring+

前提となるsecond-sel.elも
インストールしてください。

M-x package-install second-sel

使い方

本設定では

  • C-u C-M-y にSECONDARYクリップボードへのコピー
  • C-M-y にSECONDARYクリップボードのヤンク
  • M-yM-x browse-kill-ring

を割り当てています。

second-sel.elとbrowse-kill-ring+.elが
インストールされた状態で
C-u M-y で2つのキルリング
(kill-ringと secondary-selection-ring )
を切り替えるようになっています。

SECONDARYクリップボードで
M-x browse-kill-ringを使うには5ステップです。

  1. regionを設定し、C-u C-M-yでSECONDARYクリップボードに入れる
  2. 1を繰り返す
  3. C-u M-yでsecondary-selection-ringを一覧する
  4. p/nで候補選択
  5. qで終了

20170131080937.png
Fig1: SECONDARYクリップボードをキルリング化する

設定 170129070934.browse-kill-ring+.el(以下のコードと同一)

(require 'second-sel)
(require 'browse-kill-ring+)
(global-set-key (kbd "C-M-y")               'secondary-yank|select|move|swap)
(define-key isearch-mode-map (kbd "C-M-y")  'isearch-yank-secondary)
(setq browse-kill-ring-yank-commands secondary-selection-yank-commands)
(setq browse-kill-ring-alternative-yank-commands secondary-selection-yank-secondary-commands)
(setq browse-kill-ring-alternative-ring 'secondary-selection-ring)
(setq browse-kill-ring-alternative-push-function 'add-secondary-to-ring)
(global-set-key (kbd "M-y") 'browse-kill-ring)

現時点において、一連のsetqがないと正しく動作してくれません。

実行方法

$ wget http://rubikitch.com/f/170129070934.browse-kill-ring+.el
$ emacs -Q -f package-initialize -l 170129070934.browse-kill-ring+.el

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。