
キーボード ショートカットを使用して、プライマリ選択 (マウスで選択したテキストなど) から貼り付けるにはどうすればよいですか?Shift+Insert
アプリケーションによっては、プライマリまたはクリップボードから一貫して貼り付けられません。
背景:
Ctrl+C
選択したテキストを CLIPBOARD にコピーし、マウス選択では PRIMARY にコピーします。 を使用して CLIPBOARD から貼り付けCtrl+V
、 を使用して PRIMARY から貼り付けますmouse-middle-click
。
ターミナル エミュレータ (gnome-terminal) で、 CLIPBOARD から で貼り付けますCtrl+Shift+V
。 (PRIMARY からmouse-middle-click
still で貼り付けます。)
キーボード ショートカットを使用して PRIMARY から貼り付けたいです。gnome-terminal では、これは ですShift+Insert
が、gedit と Firefox ではShift+Insert
CLIPBOARD から貼り付けます。常に CLIPBOARD から貼り付けるショートカットと、常に PRIMARY から貼り付ける別のショートカットが必要です。
私はxmonadとFirefox 34.0を搭載したUbuntu 14.04を実行しています
答え1
あなたが挙げたアプリはすべてgtk+
アプリなので、答えるのは簡単ですなぜ...なぜなら全て gtk+
アプリ(1つを除いて)、Shift+ はクリップボードから貼り付けます。つまり、 +Insertと同じです。ショートカットはCtrlVgtkentry.c
(2022年ライン)とgtktextview.c
(行番号1819):
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
これは、GTK+ 3 リファレンスマニュアル下GtkEntry
:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
私の知る限り、これは他のDEとの一貫性を保つために行われたものです(KDE
のQt
キーバインディングを参照)。QTextEdit Class
) と Windows OS 1。
唯一の例外ですgnome-terminal
。長い議論の末、開発者は (他の端末との一貫性を保つため)、 では、gnome-terminal
+ShiftはInsertPRIMARY から貼り付け、Ctrl+ Shift+ はVCLIPBOARD から貼り付ける (一部のショートカットをカスタマイズするオプションもあります) ことに決定しました。
に関してどうやってキーボードショートカットを使用して選択範囲を貼り付けますか...簡単な方法はありません。
最も簡単な方法は、実行されるスクリプトにショートカットを割り当てることですxdotool click 2
(マウスの中ボタンのクリックをシミュレートします)。これは機能しますが (すべての DE およびツールキット、またはほとんどの DE およびツールキットで機能するはずです)、マウス カーソルが実際にテキスト入力ボックスの上にある場合にのみ機能し、それ以外の場合は失敗します。
比較的簡単な方法としては、システムで利用できる場合は、Gnome Accessibility を使用する方法もあります。テンキーも必要です。Universal Access
>>に移動してPointing & Clicking
を有効にしますMouse Keys
。 がオフになっていることを確認しますNumLock
。テンキーキーを使用してカーソルを移動し、クリックすることができます。マウスの中ボタンクリックをシミュレートするには、(アスタリスク) を押して (放し)、次に(短い説明)*を押します。5ガイド)。このソリューションは、環境では常に機能するようですgtk+
。欠点は、Gnome Accessibility
テンキーが必要になることです。また、ショートカットをカスタマイズすることはできません。
興味深い解決策が提案されましたgnome-bugzilla (バグ 643391)(2018年更新:問題は現在移動されていますここ) いくつかのソース ファイルにパッチを適用し、~/.config/gtk-3.0/gtk.css
(または2 つのアプリ~/.gtkrc-2.0
に対してgtk+
) 構成オプションを設定する必要があります。個人的には試していませんが、フィードバックは肯定的です。
理想的には、ソース ファイルにパッチを適用してシグナルを定義し、の代わりに+を に"paste-selection"
バインドします。Andy のコード (上記のリンクされたバグ レポートに添付) は、その方法のガイドとして役立ちます。それでも、影響を受けるのはアプリだけです (私は男性ではないので、アプリの動作を変更する方法がわかりません)。ShiftInsert"paste-selection"
"paste-clipboard"
gtk+
KDE/Qt
Qt
1: (IBM の CUA は言うまでもありません)
答え2
申し訳ありませんが、評判のせいでコメントを書くことができないので、回答として書きます。直接的な解決策ではありませんが、役に立ちます...
以下の情報を組み合わせて使用できます:
CLIPBOARD を CUTBUFFER に同期するためのデフォルト オプションを使用して autocutsel を自動的に開始します。(これはオプションです)。このリンクは問題に関する情報のみを対象としています。
Clipman を使用して複数のバッファに GUI アクセスする(PRIMARY と CLIPBOARD)、自動同期の選択なし (双方向の自動同期は間違いを引き起こします)。
そこで、gtk テーマを選択し、テーマ CSS を、コピー クリップボード (Ctrl+Insert) および貼り付け クリップボード (Shift+Insert) 信号に必要なキーバインディングに変更します。