lessにパイプして編集:「標準入力を編集できません」エラー。解決策?

lessにパイプして編集:「標準入力を編集できません」エラー。解決策?

私は最近、私のファイルにページ付けを使用すると、Emacsでバッファを押して開くことがlessできることを学びました。これは、環境変数を正しく設定する限りv機能します。私の場合は、次のように設定しました。$EDITOR

export EDITOR='env TERM=xterm-256color emacs -nw'

上記を使用して、実行中の端末にemacsをロードできますless

ただし、上記のトリックは次の状況では機能しません。管路これlessを行うと、less次のメッセージが表示されます。

Cannot edit standard input (press RETURN)

私の質問は、なぜこれが起こるのかです。しかし、最も重要なことは、解決策はありますか?

ベストアンサー1

良い解決策は、lessの出力をエディタにパイプすることです。たとえば、「echo foo | less」の後、次のことができます。

g|$vim -

gファイル/入力の最初の行にジャンプし、マーカー ("end") である "|パイプ" 操作が呼び出され、範囲を次にパイプするコマンドが続きます (この場合 "-" は意味する)。 stdinから入力を受け取って読みます)。$vim -

おすすめ記事