GNU/Linux >> Linux の 問題 >  >> Linux

Bash(Linux シェル)で Ctrl + V が貼り付けられないのはなぜですか?

物理端末の時代には、セッション全体のクリップボードは存在せず、多くの場合「バッファ」または「キルリング」の名前で内部コピー/貼り付けをサポートし、さまざまな異なるキーストロークを使用するプログラムはほとんどありませんでした。たとえば、bash シェルは Ctrl を使用します K または Ctrl 「殺す」(カット)、Ctrl はい 「ヤンク」(貼り付け)。これは emacs から来ています

Ctrl C Unix のほぼすべての場所に「割り込み」キーがあり、現在のプログラムまたは操作をキャンセルするために使用されました。 Ctrl V キーは多くの場合、「逐語挿入」を意味します。つまり、関連するアクションを実行せずに、次の文字をそのまま挿入します。たとえば、通常の Esc vi でコマンド モードに切り替えます エディターですが、Ctrl V , Esc ESC を挿入します

Ctrl の使用 C コピーして Ctrl V セッション全体のクリップボードから貼り付ける機能は、1983 年に Mac OS で、1990 年に Microsoft Windows 3.x で導入されました。 (以前の Windows バージョン (1.x および 2.x) と IBM OS/2 は、IBM CUAキー Ctrl イン コピーして Shift イン 貼り付ける;これらのショートカットは、すべての Windows バージョンで引き続きサポートされます。)

クリップボードをサポートする GUI が最終的に Unix に到達したとき、Ctrl キープレスは、多くの端末プログラムですでに使用されていました。さらに、X のグラフィカル インターフェイスには、「セレクション」と「カット バッファ」という多少異なるメカニズムがありました。現在でも、1 つのプログラムでテキストを選択し、マウスの中ボタンを使用して挿入できます。明示的なコピー アクションは必要ありません。

要するに、Xterm と GNOME ターミナルが作成されるまでには (おそらく後者を使用していると思います)、Ctrl V すでに持っている 何年もの間、まったく異なる意味であり、変更できませんでした。さらに、テキストをコピーする別の方法である「選択」が X11 にすでに存在していたため、明示的なコピー/貼り付け操作は、おそらく Windows ほど重要ではないと考えられていました。これは、さまざまなキーボード ショートカットを選択する必要があることを意味します。 シフト CCtrl シフト V . (Xterm を使用している場合は、XTerm*vt100*translations を使用して同じショートカットを手動で追加できます。 Xリソース。 Rxvt にはそのようなオプションはありません。)

(ほとんどの X11 ツールキットは、端末プログラムと競合しない CUA の「コピー」キーと「貼り付け」キーもサポートしています。残念ながら、実装には一貫性がありません – Ctrl イン ほとんどのプログラムで「クリップボード」にコピーします (GTK、Qt4、Xaw では無視されます)。ただし、シフト イン ほとんどの GTK および Qt4 プログラムでは「プライマリ選択」から貼り付けますが、Firefox では「クリップボード」から、現在は廃止されている Xaw では廃止されたカットバッファから貼り付けます。)

とはいえ、一部の端末またはコンソール (特に Windows 10 コンソール) は動作します。 これらのキーをサポートします。 Windows コンソールには常に個別の「マーク/選択」モードがあったため、Ctrl C また、コンテキストに基づいて 2 つの意味を持つようになりました。通常モードでは割り込みを送信し、選択モードではクリップボードにコピーします (Enter と同様)。

一方、Windows コマンドライン ツールは実際には使用されていません Ctrl V 何のためにも、何も邪魔せずに「貼り付ける」必要がありました。ただし、Unix ライクな端末で同じことを行うと、さらに問題が生じます。


Ctrl を使用 シフト V

Ctrl with other chars は通常、特別な機能のためにシェルによって使用されます。


一般的な端末での一般的なコピー ペースト設定は次のとおりです。

gnome-terminal (Linux で最も一般的)
コピー :Ctrl シフト C
貼り付け :Ctrl シフト V
注意 :選択してコピーし、中クリック 貼り付けも機能しますが、別のクリップボードを使用します。

PuTTY (Windows で最も人気のある端末)
コピー :(マウスで選択、キーボード操作なし)
貼り付け :右クリック (またはより確実に:shift 右クリック )
注意 :マウス入力を受け取るアプリ (vim など) と links ) 右クリックを盗むことができます -- シフト 右クリック どのアプリでも常に機能します。

OSX ターミナル
コピー :りんご C
貼り付け :りんご V
注: マウス制御を行うアプリ (vim など) そして links ) は、テキストを選択することの意味を上書きする可能性があり、その場合、コピーは期待どおりに機能しません。その場合は、Control を押したままにします マウスをドラッグして選択します。アプリとのマウス操作は端末設定でデフォルトで無効になっているため、ほとんどの人はこれについてさえ知りません.


Linux
  1. このシェル パイプラインが終了するのはなぜですか?

  2. 「&」を使用して Linux シェル コマンドを実行するのはなぜですか?

  3. % は Linux シェル文字列で何をしますか?

  1. [a-z]がBashの小文字と一致するのはなぜですか?

  2. Linux –Setuidが機能しないのはなぜですか??

  3. Linux がコンピューターを熱くするのはなぜですか?

  1. Linux – USBスティックの検出に時間がかかるのはなぜですか?

  2. Bashの正規表現が変数であり、直接ではない場合にのみ機能するのはなぜですか?

  3. Linux での Bash シェルの変数について