概要
emacsの「-nw」で起動した状態でクリップボードを共有する方法を紹介します
環境
- emacs 24.4.1
- Max OS X 10.10.2 or Cygwin 1.7.32
elisp
.emacs
に以下を書けばOKです
Githubで公開している.emacs
に記載しているので最新版はそっちで管理しています
以下は一部抜粋のサンプル
; for clipborad
(setq sysname system-type)
(if (eq sysname 'darwin)
(progn
(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)
)
(message "This platform is not mac")
)
(if (eq sysname 'cygwin)
(progn
(defun paste-from-cygwin ()
(with-temp-buffer
(insert-file-contents "/dev/clipboard")
(buffer-string)))
(defun cut-to-cygwin (text &optional push)
(with-temp-file "/dev/clipboard"
(insert text)))
(setq interprogram-cut-function 'cut-to-cygwin)
(setq interprogram-paste-function 'paste-from-cygwin)
)
(message "This platform is not cygwin")
)
emacsでプラットフォーム情報を取得できるので、それに応じてクリップボードを使うコマンドを分けています
Windows上で開いているターミナルアプリでSSHログインした先のLinuxサーバで起動上で動作しているemacsとクリップボードを共有する方法が知りたい
そもそもできるのだろうか
0 件のコメント:
コメントを投稿