Linuxのbashシェルがキーボードで前の行(履歴ではない)をコピーする


7

現在編集中の行にないテキストをターミナルウィンドウで選択するためにキーボードを使用することは可能ですか(例えば、前のコマンド出力の一部をコピーするため)

回答:


7

私の知る限りでは、 "ビッグスリー"ターミナルエミュレータはどちらもできませんが、両方とも screen そして tmux キーボードでアクセスできるスクロールバックバッファを用意してください。

GNUスクリーン

screen 接頭辞 鍵は Ctrl + A デフォルトではありますが、そのすべてがカスタマイズ可能なので、デフォルトの設定で:

  1. でコピーモードに入ります Ctrl + A [

  2. でカーソルを移動 vi 動き: 時間 j k l 0 ^ $ H M L w b e / g そして G すべての仕事(参照 man screencopy キー割り当ての詳細については、

  3. で選択を開始 スペース 、で移動し、で選択をやめる スペース 再び。これでコピーモードが終了します。

  4. 選択したテキストをで貼り付ける Ctrl + A ]

tmux

tmux デフォルトごとに異なるキーを使用する点を除けば、ほとんど同じように動作します。

  1. でコピーモードに入ります Ctrl + B [

  2. でカーソルを移動 PgUp PgDown など(を参照してください man tmux | less -p '^WINDOWS AND PANES' コピーモードバインディングのリストについては、

  3. で選択を開始 Ctrl + Space 、で移動し、で選択をやめる メタ+ w 。これでコピーモードが終了します。

  4. 選択したテキストをで貼り付ける Ctrl + B ]


画面データのコピーは完璧に動作します。ありがとう
Fedir RYKHTIK

1

使用する端末によって異なります。シェルモードで可能です emacs


gnome-terminalを使っていますが、それがどういうわけか可能ですか。
Itay

@いやいや。私はマウスを使います:)
Rajish

おかげで、マウスは私を遅くします:)しかし私はそれと一緒に暮らす必要があると思います
Itay

@Itay - あなたはまだ選択するためにマウスを使用する必要がありますが、使用することができます Ctrl+Shift+C 実際にコピーします。
Shauna

0

それはあなたが求めていることではありませんが、xclipを介して出力をリダイレクトする場合は、クリップボードからそれを引き出して編集することができます。私はキーボードの使用を最小限に抑えるためにそれを使用することを考えたことはありません。

$ echo "this is the primary buffer" | xclip -selection "primary"
$ cat << EOF > primary.txt
> this is the primary buffer
> EOF

gnome-terminalでは、shift-insertを使ってhere-fileに貼り付けることができます。 manページからxclip -selection "clipboard"はxバッファの代わりに本物のクリップボードを使う。

私はそれがティーでうまくいくようには思えませんが…うーん……それはちょっと重要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.