나는 팔로우한다https://unix.stackexchange.com/a/43460/674: 뒤쪽에
$ locate -i linux | less
을 입력했지만 g|$emacs -
Emacs less
에서는 아무 것도 열리지 않고 터미널에 다음과 같이 표시됩니다.
emacs: standard input is not a tty
그게 무슨 뜻이야?
g|$emacs -nw -
아니요. 그런데 GUI가 아닌 터미널에서 emacs를 사용하고 싶습니다.
어떻게 해야 하나요?
답변1
시도해 보세요 locate ... > file && emacs file
또는 시도해 locate -i linux > file && emacs file
보세요 try locate -i linux > file && emacs file
.
emacs
임시 파일의 이름을 "file"로 지정하거나 mx shell ret로 이동하여 수행한 다음 -i linux ret 또는 mxlocate ret를 찾으려고 한다고 가정해 보겠습니다 .
답변2
귀하가 링크한 스레드에 대해 승인된 답변맞습니다(이 스레드의 다른 답변과 마찬가지로).
Google에서 이 게시물을 방문하는 모든 사람을 요약하기 위해 OP는 다음과 같이 언급했습니다.스레드에서 이 특정 답변에 대한 링크g|$vim -
내부 명령을 사용하여 less
모든 것을 채널로 파이프합니다.less
vim
stdin
그러나,이 스레드에 대한 답변, in에서 텍스트를 읽는 것이 불가능한 것 같습니다 . 따라서 이 질문에 대한 대답은 stdin
. 대신 사용할 때 emacs
임시 파일로 출력하는 것 입니다.emacs
vim
답변3
StackOverflow에서 다음 질문을 참조하세요.Emacs로 배관을 줄입니다.- 특히 답변 보기event_jr, 그는 자신이 만든 패키지를 언급합니다.전자 싱크대. 간단한 설명은 -Emacsclient를 사용하여 쉘 명령의 출력을 Emacs 버퍼로 전송.
나는 이것이 emacsclient
터미널 버전에서 작동한다고 생각합니다emacs
나는 e-sink
매일 사용하고 있으며 (GUI 버전에서) 마음에 듭니다. 그러나 사용법에 맞게 호출할 때마다 버퍼를 지우도록 약간 수정했습니다.
답변4
Emacs를 사용하여 std에서 버퍼를 생성할 수 없습니다. Emacs 내에서 반대 작업을 수행하고 Locate 및 Less를 실행할 수 있지만 그 반대의 경우는 불가능합니다.
그렇지 않으면 Saul의 아이디어(및 참조한 게시물의 허용된 답변)가 정확합니다. 출력을 파일에 저장하고 emacs에서 엽니다.