저는 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=...
-nw
enw
불행하게도 저는 이제 막 시작했고 구체적인 작업이 없기 때문에 기본적인 명령과 파일만 가지고 장난을 치고 있기 때문에 이 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를 사용하지 않는 한 v
in을 사용할 수 있습니다 . 그러나 나는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
통해 액세스할 수 있는 표준 위치에 설치한 다음 간단히 .$PATH
export VISUAL='emacs -nw'