저는 bash와 emacs를 배우기 시작했고 기본 편집기를 vi에서 emacs로 변경하고 싶습니다. 다른 stackexchange 커뮤니티에서 많은 훌륭한 질문을 겪은 후에도 아직 파악하지 못했고 분명히 v
. less
파일 v
을 읽는 동안 less
vi(기본값) 또는 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=...
-nw
enw
아쉽게도 막 시작하는 단계라 특별히 할 일은 없고 그냥 기본적인 명령어나 파일만 가지고 장난을 치고 있어서 less
이 명령어를 사용하게 되었습니다. 현재 저는 $EDITOR
터미널에서 변수를 사용하는 다른 방법 에 익숙하지 않습니다 . v
그래서 내 질문이 $EDITOR
.
결국 나는 추가를 제안하는 이와 관련된 몇 가지 질문을 보고 ALTERNATE_EDITOR="";export ALTERNATE_EDITOR
시도해 보았지만 왜 그런지 이해하지 못했습니다. 또한 의 명령 과 v
뚜렷한 차이가 없습니다 less
.
좀 더 검색한 끝에 발견한이것질문, 이것은 내 원래 계획과 가장 가까운 것 같습니다(비록 내 이해를 돕기 위해 아무것도 연결하려고 하지 않지만 불행히도 "페이지 매김"이 무엇인지 이해하지 못합니다). 그래서 나는 .txt 파일을 읽는 동안 아무것도 하지 않는 대략적인 시점인 $EDITOR="enw"
로 변경했습니다 .$EDITOR="env TERM=xterm-256color enw"
v
less
마지막 코드를 추가하기 전에 $TERM
정상인지 확인했는데 이미 xterm-256color
작동하고 있습니다. 이것이 내 v
명령이 엉망이 된 이유라고 말하는 것이 아닙니다. 단지 v
vi 호출 타임라인이 중단되었을 뿐입니다 less
. 모든 것을 시도한 첫 번째 코드로 다시 변경했지만 v
여전히 작동하지 않습니다.
(너무 길어서 죄송합니다. 도움이 될까봐 프로세스를 설명하고 싶었습니다!) 이제 $EDITOR
.bash_profile에 추가한 내용을 주석 처리하면 모든 것이 정상으로 돌아가므로 좋은 것 같습니다. 따라서 .bash_profile에서 and를 사용하지 않는 한 v
in을 사용할 수 있습니다. 하지만 나는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'
.