回答:
物理端末の時代には、セッション全体のクリップボードは存在せず、多くの場合「バッファ」または「キルリング」という名前で内部コピー/貼り付けをサポートし、さまざまなキーストロークを使用したプログラムはほとんどありませんでした。たとえば、bashシェルは、CtrlKまたはCtrlUを使用して「kill」(カット)、CtrlY「yank」(ペースト)を行います。これはから来ているのEmacsエディタ。
CtrlCUnixのほぼすべての場所に、現在のプログラムまたは操作をキャンセルするために使用される「割り込み」キーがありました。CtrlVしばしば「そのまま挿入」を意味し、キー-つまり、関連するすべてのアクションを実行せずに、文字通り、次の文字を挿入します。たとえば、通常Escはviエディターでコマンドモードに切り替わりますがCtrlV、ドキュメントに文字Escが挿入ESC
されます。
セッション全体のクリップボードからのCtrlCコピーおよびCtrlV貼り付けの使用は、1983年にMac OSによって、1990年にMicrosoft Windows 3.xによって導入されました。(以前のWindowsバージョン(1.xおよび2.x)、およびIBM OS / 2 、コピーおよび貼り付けのためにIBM CUAキーのみをサポートしました;これらのショートカットは、すべてのWindowsバージョンで引き続きサポートされています。)CtrlInsShiftIns
クリップボードをサポートするGUIがついにUnixに到達したとき、Ctrlキー入力はすでに多くの端末プログラムで使用されていました。また、Xグラフィカルインターフェイスには、「選択」と「カットバッファー」という多少異なるメカニズムがありました。今でも、1つのプログラムでテキストを選択し、マウスの中ボタンを使用して、明示的なコピーアクションなしでテキストを挿入できます。
要するに、XtermとGNOME Terminalが書かれた頃には(後者を使用しているのではないかと思います)、CtrlV すでに長年にわたってまったく異なる意味を持ち、変更することはできませんでした。さらに、テキストをコピーする別の方法(「選択」)がX11にすでに存在していたため、明示的なコピー/貼り付けアクションはおそらくWindowsほど重要ではないと考えられていました。これは、異なるキーボードショートカットを選択する必要があることを意味します。たとえば、GNOMEターミナルなど、ほとんどの最新のターミナルプログラムは、とを使用CtrlShiftCしCtrlShiftVます。(Xtermを使用する場合、XTerm * vt100 * translations Xresource を使用して同じショートカットを手動で追加できます。Rxvtにはこのようなオプションはありません。)
(ほとんどのX11ツールキットは、端末プログラムと競合しないCUAの「コピー」および「貼り付け」キーもサポートします。残念ながら、実装はかなり矛盾しています。CtrlInsほとんどのプログラム(GTK、Qt4、 Xaw);ただし、ShiftInsほとんどのGTKおよびQt4プログラムでは「プライマリ選択」から、Firefoxでは「クリップボード」から、現在廃止されたXawでは現在廃止されたカットバッファーから貼り付けます。)
ただし、一部の端末またはコンソール(特にWindows 10コンソール)はこれらのキーをサポートしています。Windowsコンソールには常に個別の「マーク/選択」モードがあったため、CtrlCコンテキストに基づいた2つの意味があります。通常モードでは割り込みを送信し、選択モードではクリップボードにコピーします(Enter以前と同様)。
一方、Windowsのコマンドラインツールは実際には何にも使用さ CtrlVれなかったため、何も邪魔することなく「貼り付け」が行われていました。ただし、Unixのような端末で同じことを行うと、さらに問題が生じます。
<C-v>
にi
、バージョン3で、私は非常に私の指を置くことができなかった理由。
CtrlShiftV貼り付けに使用します。
Ctrl 他の文字との組み合わせは、通常、特別な機能のためにシェルによって使用されます。
bash
それ自体ではありません。GUI環境の外にいる場合、または別の用語エミュレータを使用している場合、これはおそらく機能しません。このコマンドは移植性があるとは思わないでください。
一般的な端末での汎用コピーペースト設定は次のとおりです。
gnome-terminal(Linuxで最も一般的)
コピー:CtrlShiftC
貼り付け:CtrlShiftV
注:コピーしmiddle-clickて貼り付けを選択することもできますが、代替クリップボードを使用します。
パテ(Windowsの中で最も人気のある端末)
をコピー:(マウスで選択し、何のキーボード操作)
貼り付け:Right-click (またはより確実に:shiftRight-click)
注:マウス入力を(のような取るアプリvim
とlinks
)を盗むことができますRight-click- shiftRight-click常に任意のアプリで動作しません。
OSXターミナル
コピー:AppleC
貼り付け:AppleV
注:マウス制御(vim
およびなどlinks
)を使用するアプリは、テキストを選択する意味をオーバーライドする場合があります。この場合、コピーは期待どおりに機能しません。その場合、Controlマウスをドラッグして選択します。端末設定では、マウスのアプリとの対話はデフォルトで無効になっているため、ほとんどの人はこれについても知りません。
cmd.exe
Windows上のPuTTYよりも人気?:
cmd.exe
SSHターミナルではありません。それは非常に真実です。
cmd.exe
、クイック編集モードで右クリックして貼り付けることもできます(メニュー>編集>貼り付けを開かない場合は唯一の方法です)。pre-win10コマンドプロンプトにショートカットがありません
Ctrlキーと文字を組み合わせて、大文字のASCII値から64を減算することで見つかるASCII制御文字を生成することは、根強い伝統です。この計算はCtrl- Aに1などをマップします。たとえばCtrl- IであるTabとCtrl- J改行されます。
Ctrl-に類似した伝統はありませんShift。 Ctrl- Shift- V任意の特定の文字を生成することが期待されていません。
ターミナルエミュレータは、Ctrl慣例を透過的に通過させ、そのターミナルウィンドウを介して操作されるプログラムへの文字入力として表示されるようにすることで、伝統をサポートする必要があります。端末ベースのプログラムは、制御キーをコマンドにマップします。たとえば、BashはCtrl- Vをコマンドとして使用します。これは、「次の文字をそのまま取得する」という意味です。これにより、コマンドラインに制御文字を埋め込むことができます。端末が自身の使用のために制御キーを盗む場合、そのようなコマンドは使用できなくなります。インターセプトCtrl- Vメタ機能の場合は問題外です(少なくともデフォルトの構成では)。
しかし、端末エミュレータを傍受するのは自由ですCtrl- Shift- V文字を生成することが期待されていません。Ctrl- Shift- V標準ではありません。これはGnomeターミナルのものです(他のターミナルにある可能性があります)。
XベースのUNIXデスクトップでは、コピーするためのコマンドは不要です。テキストを選択するだけです。そして、中央のボタンはそのテキストを他の場所に貼り付けます。Xterm、Gnome Terminal、Firefoxで同様に機能することがわかります。
Ctrl- Vの模倣であるMicrosoft Windowsの規則、であるApple- Vマッキントッシュからは。
<kbd>
ますが、今後の投稿でこれらのタグをすべて入力する方法はありません。
Ctrl-A
です1
。どうすればこれを試すことができますか?を押してもGnome端末は何もしませんCtrl-A
。
私にとって、シェルでペーストをコピーする最も簡単な方法は次のとおりです。
目的のコードを選択し、クリックして貼り付けます mouse-middle-key
xdotool click 2
、3番目のボタンのクリックをエミュレートするためだけに使用する小さなスクリプトを作成できます。次に、どのウィンドウマネージャー/デスクトップ環境でも、このスクリプトをキーにバインドできます-たとえばmod
i
(挿入用)または使用可能なキーバインド(またはmodの意味-これをバインドする場所によって異なります)
怠けている場合は、マウスの中央ボタンを使用して、テキストドキュメント、スクリプト、Web、またはフォーラムからコマンドを選択することもできます。目的のコマンドを選択したら、ターミナルに移動して、マウスの中央のボタンをクリックするだけです。右クリックして貼り付けるという通常の動作をサポートしていないように見える子犬Linuxを使用しているため、この方法を使用します。ターミナルウィンドウではなく、ファイルハンドラウィンドウで行います。理由はわかりませんが、中ボタンの方法を見つけたのでとても便利です。;-)
Shift
-Insert
も動作します