DeeplのWindowsアプリでCTRL+C+Cでコピーできない問題

秀丸エディタでCTRL+C+Cを押してもDeelpのWindowsアプリが反応しない

原因は、秀丸のコピーが「選択範囲を解除する」という挙動であるため

DeeplのCTRL+C+Cが機能するアプリは、
CTRL+Cを押した際、選択範囲が維持される」というソフトウェアに限定されているためです。

秀丸はCTRL+Cで押した際選択範囲が維持されないため、DeepLで機能しないのです。

解決する方法は、CTRL+Cを押した際に選択範囲を維持する方法が中心で、3通りあります。

手段その①:CTRL+Cに割り当てられるコピーの機能だけマクロへとすり替える手段

(理想的であるが、DeepLの判定方法への依存が大きい)

DeepLのCTRL+C+Cは、最初のCTRL+Cによってクリップボードにコピーされた内容と、
Ctrl+Cを押したときにクリップボードの内容が前回と同じ内容でコピーされるかどうかで判断しているため、
クリップボードに空文字を最後に挿入することで、何も選択していない状態でのCopy、即ち空文字と強引に合致させる、
という手段があります。

copy2.mac
setcompatiblemode 0x00100000; // 複数選択を有効にする
if(!selecting){
    if( getclipboardinfo(0) != 0 && getclipboardinfo(1) == 0) {
        addclipboard "";
    }
    endmacro;
}
copy;
        

このような copy2.mac を「マクロ登録」し、そのマクロを「CTRL+C」へとキー登録すれば、
デフォルトのCTRL+Cのコピーコマンドの挙動が、「選択範囲を維持する」コピーコマンドへと切り替わります。

この方法のメリットはCTRL+Cすらほぼ挙動が変化していないという点です。
デメリットは、DeepLの判定の実装に極端に依存しており、
少しでもDeepLの実装(コピーするべきかいなか)が変わると、使えなくなる可能性があります。

手段その②:CTRL+Cに割り当てられるコピーの機能だけマクロへとすり替える手段

(比較的良好であるが、CTRL+Cの挙動が変化してしまう。他の多くのエディタの挙動と同じになるため、汎用性は高い)

copy2.mac
setcompatiblemode 0x00100000; // 複数選択を有効にする
copy2; // 選択範囲を維持したコピー
        

このような copy2.mac を「マクロ登録」し、そのマクロを「CTRL+C」へとキー登録すれば、
デフォルトのCTRL+Cのコピーコマンドの挙動が、「選択範囲を維持する」コピーコマンドへと切り替わります。

この方法のメリットはCTRL+Cの挙動だけが変化しているという点です、
デメリットはコピーの度にマクロが走ってしまうという点でしょう。

手段その③:秀丸の「『コピー』の後選択範囲を解除する」に「☑が入っているのを外す」

(コピー系の挙動を全部変えてしまう。他の多くのエディタの挙動と同じになるため、汎用性は高い)

PICTURE

この方法のメリットは設定が簡単という点ですが、
デメリットは、これまでと挙動が全て変わってしまうため、
秀丸の使用歴が長いほど挙動の変更に戸惑う
かもしれません。