second-sel 20170702.729(in MELPA)
Secondary selection commands

概要

もうひとつのキルリング
(kill-ring)は欲しいですか?

確かにキルリング以外の
コピー&ペースト手段として
レジスタもありますが、
ちょっと使いづらいですよね。

それならば、
second-sel.el を導入してみては
いかがでしょうか。

実はX Window Systemには「クリップボード」が3つあります。

PRIMARY
マウスでテキストを反転させたとき
CLIPBOARD
マウスでテキストを反転させた後、右クリックでコピーを選択したとき
SECONDARY
未使用←ココが重要

SECONDARYクリップボードは
アプリケーションでは未使用ですが、
xselやxclipなどのツールではアクセスできます。

second-sel.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/")))

初めてsecond-selを使う方は
以下のコマンドを実行します。

M-x package-install second-sel

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

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

基本的な使い方

本設定では C-y にちなんで
C-M-y にコマンドを集約しています。

SECONDARYクリップボードで
コピー&ペーストするのは以下の3ステップです。

  1. regionを設定する
  2. C-u C-M-y あるいは C-M-7 C-M-y でregionをSECONDARYクリップボードに入れる
  3. C-M-y でSECONDARYクリップボードの内容を貼り付ける

C-M-7 は数値引数7を指定していますが、
別に C-M-6 でも C-M-8 でもいいです。

C-M-y に1以上の数値引数を指定すると
挙動が変更しますので、yに近い7を選んだだけです。

isearchが便利に

また、isearch時に C-M-y
SECONDARYクリップボードの内容を
検索文字列に指定できます。

isearch中に C-yC-M-y
2つのテキストを検索文字列として
貼り付けられるのは便利ですよね。

設定 170129073107.second-sel.el(以下のコードと同一)

(global-set-key (kbd "C-M-y")               'secondary-yank|select|move|swap)
(define-key esc-map "y"                     'yank-pop-commands)
(define-key isearch-mode-map (kbd "C-M-y")  'isearch-yank-secondary)

実行方法

$ wget http://rubikitch.com/f/170129073107.second-sel.el
$ emacs -Q -f package-initialize -l 170129073107.second-sel.el

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


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