Mac + tmux + ターミナル上のEmacs でクリップボードを連携する方法
tmux 上で Emacs を利用する場合、
OS のクリップボードとその内容をシームレスに連携するためには多少の手順が必要となる。
手順
1. Emacs の設定
Emacs 初期設定ファイル (~/.emacs/init.el など) に以下の内容を記述。
(defun copy-from-osx ()
(shell-command-to-string "pbpaste"))
(defun paste-to-osx (text &optional push)
(let ((process-connection-type nil))
(let ((proc (start-process "pbcopy" "*Messages*" "pbcopy")))
(process-send-string proc text)
(process-send-eof proc))))
(setq interprogram-cut-function 'paste-to-osx)
(setq interprogram-paste-function 'copy-from-osx)
2. reattach-to-user-namespace のインストール
tmux 内部での Mac OS X クリップボードのやりとり (pbcopy/pbpaste) を可能にするツール。
Homebrew でインストールするのが一番簡単だ。
$ brew install reattach-to-user-namespace
3. tmux の設定
tmux 初期設定ファイル (~/.tmux.conf) に以下の内容を記述し、tmux を再起動。
set-option -g default-command "reattach-to-user-namespace -l zsh"
- 参考: tmux 再起動
$ tmux kill-server
これで
- Mac でクリップボードにコピー => tmux 上の emacs で貼付け (C-y)
- tmux 上の emacs でコピー (M-w) => Mac で貼付け
が可能となった。
0 件のコメント:
コメントを投稿