2015年4月編集:同じ問題がある場合は確認してください。http://xiki.org/
私はこれが端末が動作する方法ではないことを知っていますが、以前のコマンド出力ですでに端末ウィンドウの履歴にあるテキストで作業(コピー、修正など)する簡単な方法があればと思います。
私は次のことを想像しました。
私はbashシェルでコマンド入力を準備していましたが、すでに画面に表示されている数行を入力する必要があることに気づきました。マウスを伸ばして選択することもできますが、それは嫌いです。今私が本当に欲しいのは、私の端末全体が1つの巨大なVimバッファに変わることです。つまり、プロンプト、私が入力するコマンド、そのコマンドの出力などがすべて含まれます。すべて。その後、数行をスキップして編集し、テキストをインポートすることもできます。次に、bashシェルモードに戻り、現在のコマンドラインにインポートされた内容を貼り付けます。
いくつかのオプションがあることを知っています。
もちろん、1つのコマンドの出力から必要なテキストをファイルに直接パイプするか、次のコマンドに直接パイプします。ただし、これを行うには、事前に計画を立てるか、履歴からコマンドを再実行する必要があります(呼び出し間で出力が変更されないと仮定)。
マウスを持ってコピーしたいテキストを選択してください。くすぐり、迷惑ですね。こんなことをしなかったら良かったでしょう。 (ここはGUIスタック交換サイトではありませんか?=)
マイ(Mac OS X)ターミナルアプリケーションの「テキストエクスポート...」オプションを使用して、ターミナルテキストをファイルに保存します。その後、ファイルを開いて使用します。ほとんどですが、ディスクにファイルを保存する手順を実行するのはなぜですか?
それで、質問はこの状況でどうしますか?この状況で役に立つトリック、ツール、シェル機能はありますか?ちょうどマウスの使用を放棄しますか、それとも入力する必要があるものを再入力しますか?
問題は私が「Unix方式」で仕事をしていないということかもしれませんが、今は2010年でカーソルから数行離れた一部のテキストを簡単にコピーできませんか?
答え1
EmacsではMXシェル以前の出力のバージョンを処理します。通常のバッファのように、以前のコマンド出力またはバッファの一部を簡単にコピーして貼り付けることができます。私はvimと同等のものがなければならないと確信しています。
答え2
tmux(ターミナルマルチプレクサ)でCtrl + A- [を押してViバッファモードに切り替えることができます。ここでは、画面のナビゲーション、バッファの前後スクロール、テキストのコピーなどを行うことができます。デフォルトのショートカットは実際にCtrl + B-です。しかし、これは明らかに再構成が必要です。また、デフォルトのバッファリングモードはEmacsですが、Viで設定することもできます。
tmuxを見てください。本当に素晴らしい最新のターミナルマルチプレクサです。バッファを使用することに加えて、画面を複数のウィンドウに分割し、複数の端末で同じセッションに接続できます。最終的な便宜のために、実際のシェルが何であるかを教えてください。ログインシェルにすることもできます。
OpenBSDでは、tmuxは基本システムの一部でもあります。
詳細については、tmuxのマニュアルページを参照してください。スクリーンショットも参照してくださいhttp://tmux.sourceforge.net/
答え3
スクリプトを使用して(毎回フラッシュされるように-fを使用)、すべての出力をファイルに入れることができます。
ターミナルマルチプレクサ(screen、tmuxなど)を使用してください。たとえば、画面の場合 http://web.mit.edu/gnu/doc/html/screen_11.html#
コマンド:コピーコピー/ロールバックモードを開始します。これにより、現在のウィンドウとその履歴のテキストを貼り付けバッファにコピーできます。このモードでは、viに似たフルスクリーンエディタが有効になり、以下に説明するコントロールがあります。
他のターミナルマルチプレクサには間違いなくより高度な機能があります。
答え4
私はurxvt(rxvt-unicode)を使用していますが、urxvtをインストールできる場合はそれを望むものであるurxvt-keyboard-selectというパッケージがあります。 Archlinuxパッケージ情報(ポインタを含む)はここにあります。