Emacs
進入 less 和編輯:“無法編輯標準輸入”錯誤。解決方法?
我最近了解到,如果我使用 分頁文件
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 -
在這種情況下,“-”表示從標準輸入讀取輸入)。