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

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

저는 bash와 emacs를 배우기 시작했고 기본 편집기를 vi에서 emacs로 변경하고 싶습니다. 다른 stackexchange 커뮤니티에서 많은 훌륭한 질문을 겪은 후에도 아직 파악하지 못했고 분명히 v. less파일 v을 읽는 동안 lessvi(기본값) 또는 emacs(내가 원하는 것)를 여는 대신 즉, less내가 아는 한 그것은 그대로 남아 있고 어떤 텍스트도 편집할 수 없습니다. 운 좋게도 나는 여전히 그것을 사용을 중단할 수 있었고 q다른 것은 눈치채지 못했습니다.

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

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

.bash_profile 에 설정할 수 있는 변수와 변수를 잘 설명하는 질문이 stackexchange에 많이 있습니다 $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전체 경로를 사용하는 것처럼 했습니다 . 나는 또한 따옴표를 제거하려고 시도했습니다. 내가 아는 한, 이 중 어느 것도 아무런 변화를 가져오지 않았습니다.alias emacs=...-nwenw

아쉽게도 막 시작하는 단계라 특별히 할 일은 없고 그냥 기본적인 명령어나 파일만 가지고 장난을 치고 있어서 less이 명령어를 사용하게 되었습니다. 현재 저는 $EDITOR터미널에서 변수를 사용하는 다른 방법 에 익숙하지 않습니다 . v그래서 내 질문이 $EDITOR.

결국 나는 추가를 제안하는 이와 관련된 몇 가지 질문을 보고 ALTERNATE_EDITOR="";export ALTERNATE_EDITOR시도해 보았지만 왜 그런지 이해하지 못했습니다. 또한 의 명령 과 v뚜렷한 차이가 없습니다 less.

좀 더 검색한 끝에 발견한이것질문, 이것은 내 원래 계획과 가장 가까운 것 같습니다(비록 내 이해를 돕기 위해 아무것도 연결하려고 하지 않지만 불행히도 "페이지 매김"이 무엇인지 이해하지 못합니다). 그래서 나는 .txt 파일을 읽는 동안 아무것도 하지 않는 대략적인 시점인 $EDITOR="enw"로 변경했습니다 .$EDITOR="env TERM=xterm-256color enw"vless

마지막 코드를 추가하기 전에 $TERM정상인지 확인했는데 이미 xterm-256color작동하고 있습니다. 이것이 내 v명령이 엉망이 된 이유라고 말하는 것이 아닙니다. 단지 vvi 호출 타임라인이 중단되었을 뿐입니다 less. 모든 것을 시도한 첫 번째 코드로 다시 변경했지만 v여전히 작동하지 않습니다.

(너무 길어서 죄송합니다. 도움이 될까봐 프로세스를 설명하고 싶었습니다!) 이제 $EDITOR.bash_profile에 추가한 내용을 주석 처리하면 모든 것이 정상으로 돌아가므로 좋은 것 같습니다. 따라서 .bash_profile에서 and를 사용하지 않는 한 vin을 사용할 수 있습니다. 하지만 나는less$EDITOR$VISUAL생각하다이것을 바꾸면 바로 여기에 딜레마가 있습니다. 사소한 질문일지도 모르지만, 조언이나 통찰력을 주시면 매우 감사하겠습니다.

추신 - 이 문제를 해결하려고 시도하는 동안 해당 명령을 발견 emacsclient하고 사용할 수 있지만 enw.

답변1

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

대신에 VISUAL다음과 같이 설정하세요.

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

emacs.com을 통해 액세스할 수 있는 표준 위치에 설치하거나 $PATH직접 컴파일하거나 HomeBrew, MacPorts 또는 Fink와 같은 것을 사용한 다음 export VISUAL='emacs -nw'.

관련 정보