「macOS はカット&ペーストできない(解決策あり)」という謎の情報がインターネットに溢れています。これは言い方が雑なだけで、要は 「Finder でファイルやフォルダをカット&ペーストで移動や複製できない」ということのようです。さらに macOS ではヘンテコなショートカットキー(cmd + option + V)で本当はできるんだけど、何でこんなショートカットキーの割り当てなんだ、だから macOS は使いにくい、という結論になっているようです。いやいや、実はこれって「Windows が複雑さと混乱から抜け出せない」象徴のような話なんです。

Windows もファイルやフォルダをカット&ペーストできない

ショッキングな事実です。受け入れがたいですか? よく考えてください。それって本当にペーストですか?

ペーストとは、クリップボードのコンテンツをコピーして挿入する機能です。クリップボードの中は変化しません。その証拠にカットしたあと、ペーストは何回でもできますね? Windowsでファイルをカット?らしき操作(ctrl + X)をして、ペースト?らしき操作(ctrl + V)をしたあと、2回目のペースト?らしき操作(ctrl + V)はできませんよね。ですから、この機能はペーストの定義を満たしておらず、この機能をペーストと呼ぶのは適切ではありません。

想像ですが、Apple がヘンテコなショートカットキー(cmd + option + V)を割り当てたのも、こういう理由でしょう。この機能はペーストではないのだから「cmd + V」を割り当てるのはおかしい。でも「cmd + V」でファイルを移動させろ!というユーザの声に対して、最大限譲歩したのが「cmd + option + V」で、メニューにも「ペースト」ではなく「ここにファイルを移動」と表示し、ペーストじゃないよ、とこれでもかと主張しています。対して、Microsoft のやり方は「できたら便利そうだし、よく考えずにやっちゃいました」としか言いようがありません。この積み上げで、Windows は今も「複雑さと混乱」から抜け出せないままでいます。

昔は

Classic Mac OS の頃は、ファイルはコピペするものではありませんでした。理由は簡単で、ドライブ(正確にはボリューム)の違いを意識する必要があるからです。同じドライブ間ではファイルは移動できますが、異なるドライブ間では同じ操作でもコピーになります。コピー&ペースト、カット&ペーストできるのは、あくまでメモリに読み込まれたデータだけ。ファイルは対象ではない、というシンプルなルールでした。

ボリュームが異なる場合の操作を許すのか。普通のセンスでは、移動先のボリュームへファイルをコピーした後、移動元のボリュームからファイルを削除する、というプログラムを書きます。こんなものを書かされたら、プログラマとしては心配事が出てきます。

  • 元のファイルはゴミ箱ではなく、いきなり消していいのか?
  • 移動元のファイルがディスクエラーや、アクセス権などの問題で消せない場合はどうするのか?