コマンドラインの現在のテキストを、マウスに触れることなくクリップボードにコピーする方法を見つけようとしています。つまり、キーボードだけでテキストを選択する必要があります。私は完全な解決策につながる可能性のある途中の解決策を見つけました:
Ctrl+a -行頭に移動します。
Ctrl+k -行全体をカットします。
Ctrl+y -カットしたテキストを元に戻します。
あるいは、私も使うことができます Ctrl+u 最初の2つのステップを実行します。
これはもちろん機能しますが、カットテキストがどこに保存されるのかを正確に把握しようとしています。使用せずにそれにアクセスする方法はありますか Ctrl+y ?私はxclip
を知っていて、それを使用してテキストをクリップボードに直接パイプすることもできるので、によって保存されたデータをパイプすることを考えていました Ctrl+kxclip
に、しかしそれを行う方法がわかりません。
これまでに得た方法は、xdotool
を使用してecho
を行の先頭に追加し、| zxc
を行の終わりまで入力してEnterキーを押します(zxc
は基本的にxclip
にパイプするカスタムエイリアスです)。これも機能しますが、実際には「クリーン」なソリューションではありません。
違いがある場合は、Cshellを使用しています。
編集:私はscreen
をソリューションとして使用したくないので、言及するのを忘れました。
ありがとう!
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つしか持てません。 _xrdb -merge ~/.Xdefaults
_を使用して、X11サーバーを新しいファイルの内容で更新します。新しいxterm
を開始します。
ここで、コマンドプロンプトで入力を行ったら、次のように入力します。 1 テンキーのを押すと、マウスのボタン1を押すのと同じように、現在のテキストカーソル位置からテキストの選択が開始されます。矢印キーでカーソルを移動してから、 2 テンキーとその間にあるテキストが強調表示され、1次選択とcutbuffer0にコピーされます。明らかに、他のより適切なキーとアクションを選択できます。同様に、insert-selection(PRIMARY)
のようなバインディングを使用して、選択範囲を貼り付けることができます。