マウスを使用せずにコマンドラインからクリップボードにテキストをコピーする方法


10

コマンドラインの現在のテキストをマウスに触れることなくクリップボードにコピーする方法を見つけようとしています。つまり、キーボードだけでテキストを選択する必要があります。私は完全な解決策につながる可能性のある途中の解決策を見つけました:

Ctrl+a -行頭に移動します。

Ctrl+k -行全体をカットします。

Ctrl+y -カットしたテキストを元に戻します。

またはCtrl+u、最初の2つのステップを実行するために使用することもできます。

これはもちろん機能しますが、切り取ったテキストが正確にどこに保存されるのかを理解しようとしています。使用せずにそれにアクセスする方法はありCtrl+yますか?私はそれを知っていて、xclipテキストをクリップボードに直接パイプするのにも使用しているので、Ctrl+kto によって保存されたデータをパイプすることを考えxclipていましたが、それを行う方法はわかりません。

これまでに得た方法は、行の先頭と行の末尾xdotoolに追加echoして| zxcEnterキーを押す(zxc基本的にはにパイプするカスタムエイリアスxclip)スクリプトを記述しています。これも機能しますが、実際には「クリーン」なソリューションではありません。

違いがある場合は、Cshellを使用しています。

編集:私はscreen解決策として使用したくない、それを言及するのを忘れた。

ありがとう!


無関係ですが、知っておくと便利です:Shift-Insは、テキストを切り取るだけでなく貼り付けたい場合に、選択範囲をxtermに貼り付けます。
2017年

回答:


7

xtermまたは派生物を使用している場合、キーバインディングを設定してテキスト選択を開始および終了し、それをX11プライマリ選択またはカットバッファーとして保存できます。を参照してくださいman xterm。たとえば、次のように追加します~/.Xdefaults

XTerm*VT100.Translations: #override\n\
    <Key>KP_1: select-cursor-start() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n\
    <Key>KP_2: start-cursor-extend() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n

XTerm*VT100.Translationsエントリは1つしか持てません。X11サーバーを新しいファイルの内容で更新しますxrdb -merge ~/.Xdefaults。新しいを開始しxtermます。

コマンドプロンプトで入力を1行った後、テンキーを押すと、マウスのボタン1を押すのと同じように、現在のテキストカーソルの位置でテキストの選択が開始されます。矢印キーでカーソルを移動2し、テンキーを押すと、間にあるテキストが強調表示され、1次選択とcutbuffer0にコピーされます。明らかに、他のより適切なキーとアクションを選択できます。同様に、のようなバインディングを使用して選択範囲を貼り付けることができますinsert-selection(PRIMARY)


これは素晴らしい!あなたがこれをできるとは思いもしませんでした。非常に役立ちます!コンソールで使用できますか?
Sancho Pancho 2017年

2
私はkonsoleのマニュアルをざっと見ましたが、この種のコントロールについては触れていません。ほとんどのターミナルエミュレータでは、メニューやダイアログで管理しやすい設定を提供することを好むため、これはほとんどありません。
meuh

translationsリソースは、ここに言及したXツールキットの機能であり、他のツールキットには対応が持ちません。ただし、keymap機能を使用して翻訳セットを切り替えることができます(「1つしか持てない」に関するコメントに注意してください)。
トーマスディッキー2017年

すべてのコメントをありがとう。ctrl-k / ctrl-yクリップボードについてはまだわかりませんでしたが、誰がそれにアクセスする方法を知っていますか、または実際にカットテキストをどこに保存しますか?
Sancho Pancho 2017年

@SanchoPancho cshに応じて、カットされたテキストを保持し、yankおよびyank-popバインディングを提供する内部キルリングを実装します。このリングに他のアクセス権があるとは思わない。man cshを参照してください。
私の2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.