NeoVim, Evil-mode and Emacs의 모험

Posted on Jul 28, 2018

“내적모순”

이맥스에서 Evil을 쓰면서 몇가지 짜증나는게 있어왔다.

  1. Evil 자체의 문서화가 조금 거시기하다.
    1. 거기에 Which-Key같은 키바인딩을 실시간으로 확인할 수 있는 방법도 제대로 안먹히게 된거라, 이맥스에서 쩔어주는 기능인 자기 자신을 확인하며 단축키 안외우기 같은게 다 무의미해짐.
    2. 공식 사이트 들어가도 문서는 없다. 그냥 Vim 온라인 help을 보거나 하라는 친절인거 같다.
  2. Magit, Edb, 등등 대부분의 이맥스의 다른 Major mode들이랑은 정말 충돌하는 경우가 너무 많음.
    1. https://github.com/ageldama/configs/blob/master/emacs/dot-emacs-2018#L421
    2. 위의 링크만 봐도, 내가 얼마나 충돌이 나는 모드들을 경험했는지 알수있다.

그럼에도 포기할수없는 나의 영도자

좋은점, 그래도 고집을 갖고 계속 써야겠다고 생각하던 부분은:

  1. Leader key 을 활용한 키바인딩이 편리하다.
    1. General 같은걸 써서, SPC a 같은 키를 Spacemacs처럼 바인딩해서 편리한 나를 위한 환경을 세팅하기 좋다.
    2. 이런 Leader키는 Vim의 NORMAL모드에서 동작하도록 만들기 편리하다. – 어차피 INSERT모드가 아니니까, Space키와 같이 원하는 키를 그렇게 사용하기 유리하지.

…그러다가 어정쩡한 상태가 계속됐었던거 같다.

결국 이런 내적모순을 견디지 못하고, 그리고 매일 급할때마다 이맥스와 Vim키바인딩간에 꼬이는 손가락이 미웠다. 그래서 그냥 어차피 Vim 키바인딩 쓸거면 Vim을 쓰면 되지않나 싶어서, 설정 파일을 조금 고치고, NeoVim에 도전해보기로 했다.

  1. NeoVim은 그냥 Vim보다 조금 더 가볍고 만족스러웠다. 자잘한 버그도 보이지 않았고 그냥 계속해서 쓸만하다.
    1. 어차피 이맥스를 써도 나는 이맥스와 Vim 둘 다 설치해놓고 상황에 따라서 터미널에서 바로 편집할만한건 Vim을 켜서 진행하는데, alias vim=nvim이 되버렸다.
  2. 내가 만든 설정 https://github.com/ageldama/configs/blob/master/nvim/init.vim

이맥스처럼 Vim도 조금 더 끈덕지게 책도 읽고, 공식 문서도 읽으면서 더 공부할까 생각이들었다.

그리고 다시 돌아온 탕아

그런데, 역시 결론은 다음과 같다.

  1. Vim은 빠르고 가볍게 세팅하고, 텍스트 편집을 빨리할만한 정도로 좋은거 같아.
    1. NVim 세팅하고 갖고 놀면서, 나름 이맥스에서 내가 좋아하고 필요한 패키지들을 설치하고, 비슷하게 만들고 더 나은것도 있었지만.
    2. Fzf을 통해서 Ag등의 연동이 이맥스만큼 깔끔하지는 않고,
    3. helm-swoop 이 너무 그리웠다.
    4. 무엇보다도, 어차피 다 고쳐서 세팅할수있겠지만, 이맥스만큼 Elisp만큼 속시원하게 내가 원하는 방향으로 세팅할수는 없었다. VimScript이나 그런게 너무 괴로웠다.
  2. 이맥스도 그런식으로 설정하지만,
    1. Evil을 기본으로 설정할 필요는 없고, 필요에 의해서만 켜고 편집 모드에서만 쓸수있게 만들자.
  3. 그리고 Leader키 같은거 대신에 good-ole-emacs-key-chord을 이용하자.
    1. 어차피 세팅은 거지같아도 동작하는건 비슷하니까.
    2. https://github.com/ageldama/configs/blob/master/emacs/dot-emacs-2018#L320

이맥스 키바인딩으로 돌아와서 그냥 글을 쓰기도 괜춘해진거 같아.

그리고 Elisp에 대해서 아직도 이상한 부분은 많지만, 그래도 Elisp을 이용해서 끄적거리고 원하는 기능을 만들어나가기 좋은게 이맥스를 계속해서 좋아하게 만드는 이유인거 같다.