[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:04908] クリップボード関数について



はじめまして、八木と申します。

muleを使っていたのですが、もっと小さい+軽いエディタが欲しい、けど、
emacsの使い勝手は捨てがたい、と思っていたところ窓の森でxyzzyを知り、
使い始めました。以後、よろしくお願いします。

ところで、muleでは、領域選択->コピー->ペーストというのを
 (1) C-@   マーク設定
  (2) ESC-w マークまでの行を選択
  (3) C-y   同一バッファ内or別のバッファor別のウィンドウにペースト
という手順で行っていました。xyzzyのデフォルトとはちょっと操作が
違うのですが、この手順が身についていてやり易いのと、ローカルバッファと
クリップボードの使い分けが面倒、と思い、この操作で行える関数を作りました。

が、カーソル位置を実際に移動させて領域設定している点がちょっとスマートで
ないように思い、ご意見が伺えればと投稿しました。

変形版で、削除して選択、と、行端まで削除して選択、というのも作りましたので
こちらにもご意見がいただければ幸いです。

;; マーク付けされた領域をクリップボードにコピー
(defun copy-marked-region-to-clipboard ()
  (interactive)
  (if (get-selection-type)
      (stop-selection))
  (let ((line (current-virtual-line-number)))
    (start-selection 2)
    (exchange-point-and-mark)
    (copy-selection-to-clipboard)
    (goto-virtual-line line)
    (message "copy-marked-region-to-clipboard")
  )
)

;; マーク付けされた領域を削除して、クリップボードにコピー
(defun kill-marked-region-to-clipboard ()
  (interactive)
  (if (get-selection-type)
      (stop-selection))
  (start-selection 2)
  (exchange-point-and-mark)
  (kill-selection-to-clipboard)
  (message "kill-marked-region-to-clipboard")
)

;; 行端まで削除して、クリップボードに追加
(defun kill-line-to-clipboard ()
  (interactive)
  (kill-line)
  (yank-to-clipboard)
  (message "kill-line-to-clipboard")
)
--------------------------------------------------------
   |  ^|^  |         八木 稔   Minoru Yagi
   |   @   | (株)東芝 医用システム社
             医用機器・システム開発センター開発第3担当
                    minoru2.yagi@xxxxxxxxxxxxx

Index Home