Recientemente aprendí que si busco en mis archivos less, puedo presionar vy abrir el búfer en Emacs. Esto funciona siempre que tenga la variable de entorno $EDITORconfigurada correctamente, que en mi caso la tengo como:
export EDITOR='env TERM=xterm-256color emacs -nw'
Lo anterior me da la capacidad de cargar emacs dentro del terminal que se ejecuta less.
Sin embargo, el truco anterior no funciona cuando se canalizan comandos a less. Al hacer esto, se lessqueja con el siguiente mensaje:
Cannot edit standard input (press RETURN)
Mi pregunta es, ¿por qué sucede esto? Pero lo más importante, ¿hay alguna solución ?

Piping into less and editing: “cannot edit standard input” error. Workarounds?está claro. ¿Por qué pensar lo contrario?whyúnica, y no laworkarounds, así que agregué el énfasis.Respuestas:
Como ya se dijo, no puede editar una secuencia de entrada.
La solución es bastante obvia: guarde la secuencia en un archivo desde dentro
lessy abra el archivo guardado . Para hacerlo mientras ve, presionesy asigne un nombre a un archivo. Luego, salgalessy abra el archivo a mano o, aún desde adentroless, escriba:ey dé el nombre del archivo que acaba de guardar.fuente
Una buena solución es canalizar la salida de less a su editor, por ejemplo, después de "echo foo | less" puede hacer:
gsaltará a la primera línea del archivo / entrada,|invocará la acción "canalizar",$es la marca ("el final"), seguido del comando para canalizar el rango (vim -en este caso, donde el "-" significa para leer la entrada de stdin).fuente
Significa exactamente lo que dijo: solo puede editar un archivo que está en el disco de esta manera (desde
less). Si canaliza la salida de un proceso,STDOUTse va a utilizarSTDINparaless; No hay archivo para editar.fuente