読みやすいテキストを取得するには、次のいずれかを使用します。ただし、stderrリダイレクトを介してのみスクロールするか、/somepatternと入力して一致するものを取得できます。
これがないと、検索時に「検索する内容がありません(RETURNを押す)」と列〜が表示されます。
与えられた場合、stderrとstdoutは同じではありませんが、なぜlessでジョブを開始するまでlessが同じであるとマークするのですか?
これはおそらく私が理解していない奇妙なマルチウィンドウvimです。アイデア?
答え1
+--------------------+ +------+ +----------+
| stdout |·······→| less |——————→| |
| somecommand | +------+ | terminal |
| stderr |——————————————————————→| |
+--------------------+ +----------+
標準エラーでテキストを印刷すると、実行時と両方がsomecommand
端末に印刷されます。 stderrのコマンド出力はリダイレクトされないため、端末に直接出力されません。まず、lessが初期化されると出力がスクロールしてプロンプト行を表示し、完了するとlessは入力が完了したことを通知します(パイプが閉じたため)。次のことを試すこともできます。実行somecommand | less
somecommand
less
less
somecommand
somecommand
{ sleep 1; somecommand; sleep 1; } | { sleep 0; less; }
またsomecommand
、lessが準備される前または後に出力を生成するスリープ時間を変更し、パイプが閉じたときに何が起こるかを確認してください。