Emacs

進入 less 和編輯:“無法編輯標準輸入”錯誤。解決方法?

  • May 28, 2015

我最近了解到,如果我使用 分頁文件less,我可以在 Emacs 中按下v並打開緩衝區。只要我$EDITOR正確設置了環境變數,它就可以工作,在我的情況下,我將其設置為:

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

以上使我能夠在執行的終端中載入 emacs less

但是,當管道命令到less. 執行此操作時,less會抱怨以下消息:

Cannot edit standard input (press RETURN)

我的問題是,為什麼會發生這種情況?但最重要的是,有什麼解決方法嗎?

正如已經說過的,您不能編輯輸入流。

解決方法非常明顯:將流保存到文件中less並打開保存的文件。要在查看時執行此操作,請按**s並給出文件名。然後退出less並手動打開文件,或者仍然在less中鍵入:e**並給出剛剛保存的文件的名稱。

一個好的解決方法是將輸出從 less 傳送到您的編輯器,例如在“echo foo | less”之後,您可以執行以下操作:

g|$vim -

g將跳轉到文件/輸入的第一行,|將呼叫“管道”操作,$是標記(“結束”),然後是將範圍輸入的命令(vim -在這種情況下,“-”表示從標準輸入讀取輸入)。

引用自:https://unix.stackexchange.com/questions/23304