내가 한 일과 상황이 변한 시기:

내가 한 일과 상황이 변한 시기:

저는 bash와 emacs를 배우기 시작했고 기본 편집기를 vi에서 emacs로 변경하고 싶었습니다. 다양한 stackexchange 커뮤니티에서 많은 훌륭한 질문 v을 겪은 후에도 나는 그것을 파악하지 못했고 less. 이제 vi(기본값) 또는 emacs(원하는 것)를 여는 대신 v에서 파일을 읽는 동안 키를 누르면 아무 작업도 수행되지 않습니다. 즉, 내가 아는 한 less그것은 에 남아 있고 어떤 텍스트도 편집할 수 없습니다. less다행히도 여전히 사용을 종료할 수 q있으며 다른 어떤 것도 작동하지 않습니다.

내가 한 일과 상황이 변한 시기:

Mac osX와 함께 제공되는 터미널 에뮬레이터를 사용하고 있지만 XQuartz를 다운로드했습니다. homebrew cask를 사용하여 emacs를 설치했습니다.

stackexchange에 대한 많은 질문은 내 .bash_profile에 설정할 수 있는 변수를 $EDITOR설명 하는 데 큰 도움이 되었습니다. $VISUAL내 맥북에는 이전 버전의 emacs가 이미 설치되어 있으므로 homebrew로 설치된 최신 버전의 emacs를 사용했습니다.

나는 이 모든 것을 이제 막 배우기 시작했기 때문에 모든 것을 설정하는 가장 좋은 방법을 결정할 수 없었습니다. 현재 내 .bash_profile에 있는 방법은 다음과 같습니다.

# changing emacs from the default osX version to the version obtained from homebrew                 
alias emacs="/usr/local/Cellar/emacs/25.2/Emacs.app/Contents/MacOS/Emacs"
alias enw="emacs -nw"

# setting emacs as the editor in term instead of vi                                                
EDITOR="enw";export EDITOR
VISUAL="enw";export VISUAL

위의 코드를 .bash_profile에 추가한 후에는 중요한 변경 사항이 없습니다. 나는 및 변수가 올바르게 변경되었는지 echo확인하곤 했습니다.$EDITOR$VISUAL

less파일을 읽을 때 여전히 를 입력할 수 있지만 v터미널에서는 원하는 emacs 대신 vi를 사용하여 파일을 편집합니다. 그래서 나는 내가 정의한 방법을 변경해 보았습니다 $EDITOR. 예를 들어 대신 플래그를 사용 $VISUAL하여 my 와 같이 전체 경로를 사용했습니다 . 그리고 인용문도 제거해 보았습니다. 이 중 내가 말할 수 있는 것과 다른 것은 아무것도 없었습니다.alias emacs=...-nwenw

불행하게도 저는 이제 막 시작했고 구체적인 작업이 없기 때문에 기본적인 명령과 파일만 가지고 장난을 치고 있기 때문에 이 less명령을 사용해 왔습니다. 현재 저는 $EDITOR터미널에서 변수를 사용하는 다른 방법에 익숙하지 않습니다 . 따라서 내 문제가 에만 관련된 것인지 v아니면 $EDITOR.

결국 나는 추가하는 것이 권장되는 이와 관련된 몇 가지 질문을 보았고 그 ALTERNATE_EDITOR="";export ALTERNATE_EDITOR이유를 실제로 이해하지 못한 채 시도해 보았습니다. 또한 v의 명령 과 눈에 띄는 차이가 없습니다 less.

좀 더 검색한 끝에 발견한이것질문은 내 원래 계획에 가장 가까운 것 같습니다(비록 내가 이해하는 대로 아무것도 파이프하려고 하지 않았지만 불행하게도 '페이징'이 무엇인지 이해하지 못하지만). 그래서 나는 $EDITOR="enw"로 바꾸 $EDITOR="env TERM=xterm-256color enw"었고 이것은 대략 v.less

마지막 코드 추가를 하기 전에, 나는 $TERM이미 xterm-256color나에게 있었던 일반적인 코드가 무엇인지 확인했습니다. 이것이 내 v명령을 망쳤다고 말하는 것이 아니라 , v. less모든 것을 시도한 첫 번째 코드로 다시 변경했지만 v여전히 작동하지 않습니다.

(죄송합니다. 너무 길어서 도움이 될까봐 프로세스를 설명하려고 합니다!) 이제 $EDITOR.bash_profile에 추가한 내용을 주석 처리하면 모든 것이 정상으로 돌아갑니다. 좋은 것 같습니다. 따라서 .bash_profile에서 and를 사용하지 않는 한 vin을 사용할 수 있습니다 . 그러나 나는less$EDITOR$VISUAL원하다이것을 변경하는 것이 내 딜레마입니다. 어쩌면 사소한 질문일지도 모르지만, 조언이나 통찰력을 주시면 대단히 감사하겠습니다.

PS- 이 문제를 해결하려고 시도하는 동안 emacsclient해당 명령을 사용할 수 있지만 . 대신 해당 명령을 사용해야 하는 이유를 이해하지 못합니다 enw.

답변1

별칭은 현재 셸 세션에서만 "활성"입니다. 또는를 less통해 별칭을 호출할 수 없습니다 (그리고 쉘 자체를 제외하고는 다른 프로세스도 호출할 수 없습니다).$EDITOR$VISUAL

대신에 다음과 VISUAL같이 설정하십시오.

export VISUAL='/usr/local/Cellar/emacs/25.2/Emacs.app/Contents/MacOS/Emacs -nw'

또는 직접 컴파일하거나 HomeBrew, MacPorts 또는 Fink 등을 사용하여 를 emacs통해 액세스할 수 있는 표준 위치에 설치한 다음 간단히 .$PATHexport VISUAL='emacs -nw'

관련 정보