Emacs

April 19, 2020

Emacs 시작하기

Emacs를 적응하기 위해 아래와 같은 단계를 밟았고 개인적으로는 아래의 단계가 적절하다고 본다.

  1. 바닐라 이맥스 사용해보기. 설치, 버퍼전환, 파일열기, 이동하기 편집하기
  2. 플러그인 하나씩 설치해보기. 좀더 편리하게 이맥스를 사용해줄수 있는 플러그인을 설치한다.

    1. 텍스트 에티터로 사용할때 편리한 플러그인
    2. 헤르음
    3. flycheck
    4. 개발툴로 사용할때 편리한 플러그인들
    5. Projectile
    6. 헤르음-프로젝타일

현재 여기까지 진행되었다. 여전히 풀타임 개발툴로 사용하기에는 부족함이 있다. 이맥스를 써보기 위해 한 2년간에 걸쳐 중간중간 시도를 해봤으나 매번 실패를 했다. 도데체 왜 이런기능이 있는 것이며, 왜 이런기능은 없는 것이며, 이해가 안가는게 한두개가 아니였다. 현재로서는 풀타임 에디터로도 아직 못쓰고 있으나 이전보다는 훨씬 편해졌으며, 약간의 재미를 느끼는 중이다.

이맥스를 사용하려고 생각하게 된 계기

그동안 윈도우->리눅스->맥->리눅스->맥 으로 OS가 바뀌고 언어가 바뀌면서 개발툴이 바뀌고 자바 -> JS -> 고랭 그러면서 다시 개발툴도 바뀌고 개발툴은 그대로 두면서 OS를 왔다갔다하면서 플랫폼 독립적인 툴마저도 항상 키 바인딩이 다르거나 하는 사소한 문제로 이맥스를 써보면 괜찮아질까 하는 생각이 들었다. 현재로서는 GoLand가 워낙 편의성이 강력해서 GoLand를 메인툴로 사용할것이 명확하나 앞으로 투자의 차원에서 이맥스는 조금씩 써가려고 한다. 또한 기본 이맥스 키바인드가 의외로 여러곳에서 차용이 되기 때문에 이맥스 키 바인딩에 익숙해지면 생각보다 편리함을 소소하게 다른툴에서도 찾을수 있다. 그리고 GoLand에서조차 기본적으로 이맥스 키바인드가 소소하게 껴들어가 있는곳이 많고, 키바인드가 설정안되어 있다면 이맥스에서 보통 쓰이는 키바인드를 설정해두는것이 일관성을 갖기에 사용하기 편리하다. 예를 들어 창 나누기는 기능은 있으나 숏컷키는 설정이 안되어있으나 이맥에서는 C-x 3이라는 키 바인딩이 이미 존재하니 이 키바인딩에 이미 익숙해 있다면 고랜드에서 이 키바인드를 VSCode에서도 이 키바인드를 설정해두면 편리하다.

바닐라 이맥스 사용해보기.

설치

MacOS기준으로 한다.

Brew를 사용하기도 하고 여러가지 방법이 있으나 아래의 사이트에서 다운받아서 설치 하는것이 제일 편리했다. https://emacsformacosx.com/ 다운받아서 설치하면 됨.

신규 파일 작성하기

신규 파일 열기 타이핑 하기 수정하기 커서 상하좌우 이동(글자단위, 단어단위) 줄의 맨앞/뒤로 가기 화면단위로 이동하기 삭제하기(글자단위, 단어단위) 선택하기, 지우기 복사하기, 붙여넣기 저장하기

기존 파일 수정하기

폴더 네비게이션하기 버퍼간 전환히기 최근파일 불러오기 수정하기 저장하기

도움받기

명령어 검색하기 단축키 검색하기

간단한 이맥스 기본 개념 또는 정의

간단하게 다음의 개념이 있는데 실제 사용하면서 익숙해지도록 한다.

  • 버퍼: 버퍼란 일반적인 에디터에서 하나의 파일 또는 아직은 미저장된 파일이라고 생각하면 거의 근접하다. 이맥스에서는 도움말창도 버퍼, 임시작성창 버퍼(스크래치 버퍼), 파일목록 띄어주는 창(Dired) 도 버퍼, 모든것이 버퍼이다.
  • 윈도우 : 전체 윈도우가 아니라 일반적인 에디터로 치면 탭하나하나가 모두 윈도우이다. 일반적인 에디터에서의 윈도우 인스턴스는 프레임이라고 한다.
  • 명령어 : 이맥스는 모든 기능이 명령어로 되어있고, 해당 명령어에 단축키가 부여되어 있는 방식이다. 이맥스에서 쓸수 있는 모든 기능은 명령어를 검색할수 있다. 즉 심지어는 커서이동 조차도 명령어로 정의되어 있다.