Firefoxなどのアプリケーションでは、Ctrl-InsertとShift- は - と -Insertと同様に動作します(修正済み)CtrlcCtrlv中学校クリップボード)、しかしXTermではいいえのように働く共通点Ctrl—— そして ——ShiftcCtrlShiftv:
- Ctrl-Insertクリップボードを変更せずに
;5~
現在のプロンプトにそのまま印刷します。 - ShiftInsert-貼り付け基本的なセカンダリクリップボードの代わりにクリップボード。
私はこの問題を解決できますか?.inputrc
または他のもの? 2行政をする方が良いです。クロスプラットフォームの切り取りと貼り付けのショートカットどこでも。
答え1
xtermのルールは、FirefoxやWebが発明される数年前に開発されました。アプリケーションリソース。これらの情報は、/usr/share/X11/app-defaults/XTerm
同じファイルやX11サーバーを使用して保存された情報など、さまざまな場所でマージされますxrdb -q
。ファイルに次のコンテンツを配置することで、これらのリソースを上書きできます~/.Xdefaults
。
XTerm*VT100.Translations: #override\n\
Shift Ctrl <KeyPress> v: insert-selection(CLIPBOARD)\n\
Shift Ctrl <KeyPress> c: copy-selection(CLIPBOARD)\n
ctrl-shift-vこれはクリップボードコンテンツの挿入にバインドされます。正確に何をしたいのか分かりません。確認してみてください。マニュアルページ 機能とPRIMARY、SECONDARY、CUT_BUFFER0の選択に使用されます。
以下を追加することもできます(前の行のバックスラッシュを忘れないでください)。
Shift <Key>Insert: insert-selection(SECONDARY)\n\
Ctrl <Key>Insert: copy-selection(SECONDARY)\n
答え2
これは次のようになります。xterm(Awesome、Debian、VirtualBox)からテキストをコピーする方法は?、いくつかの推奨回答が含まれます。
ただし、バックグラウンドでxterm
Xイベントを受信し(を使用して表示できますxev
)、これらのイベントは異なる方法で処理されます。
- xtermの場合は、controlinsert制御キーと挿入キーのイベントを調べて、アプリケーションに送信する文字シーケンスを設定します。たとえば、次のようになります。
^[[28;5~
- shiftinsert別に扱われるから基本
translations
リソースxterm用。これはX Toolkitライブラリの機能です。今後xtermはイベントを見ることができます。内部にtranslations
リソースは次の行です。
Shift 挿入: 選択項目の挿入 (SELECT, CUT_BUFFER0) \n\
これSELECT
このリソースのキーワードは、xtermによってリソースに基づいてPRIMARYまたはCLIPBOARDとして解釈されますselectToClipboard
(またはクリップボードとして選択メニュー項目)。ところで、CLIPBOARDは2番目の選択ではありません。バラより2.6.1.2. 2番目の選択ICCMの2次選択の説明を学びます。
有効にできます。selectToClipboard
リソースをファイルに追加します$HOME/.Xdefaults
(または他のリソースファイル、さらに使用xrdb
)。
xterm*selectToClipboard: true
control
また、shift
修飾子(順序に関係なく)とキーを使用して翻訳を追加することもできますinsert
。他の質問から私の答えを調整します。
xterm*VT100.Translations: #override \
Shift <Key>Insert: insert-selection(SELECT) \n\
Ctrl <Key>Insert: copy-selection(SELECT) \n\
Ctrl Shift <Key>V: insert-selection(SELECT) \n\
Ctrl Shift <Key>C: copy-selection(SELECT)
Xツールキットの翻訳パーサーは、キーワードのさまざまなスペルを認識します。したがって、Key
と同じです。しかし、それが鍵を知る唯一の方法です。KeyPress
KeyDown
Ctrl
control
時できるcontrolCそして追加controlV(デフォルトでは、これらの制御キーは端末で役に立つので、通常は推奨されません):
$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
追加資料:
- 他のプログラムで選択/貼り付けができないのはなぜですか?(xterm FAQ)
- 第10章翻訳管理(Xツールキットインライン - C言語インタフェース)
- 付録B.変換表の構文(Xツールキットインライン - C言語インタフェース)