2011년 3월 27일 일요일

[Emacs] viper-mode

Emacs와 Vim은 성전(?)이라 불릴 정도의 치열한 영역싸움(거기다 감정싸움 까지도 -ㅁ-)을 벌이는 상대다. 그런데 거기에 이단이 있으니, 바로 Emacs를 vi(vim이 아니다)와 비슷하게 바꿔주는 모드가 있다. 바로 viper-mode이다.

일단 현재는 기본 패키지로 포함되어 있기 때문에 따로 설치는 필요없다. 그냥 단순히 M-x viper-mode 만 실행시켜 보면 알 수 있다.


이전에 viper-mode를 사용해 본 적이 없다면 설정 화면이 나타난다. 여기서 첫 화면은 그냥 소개 메시지다. 아래 메시지 창에서 소개메시지를 다시는 표시 안할지 물어오는데 적절히 선택하자.


다음은 사용 레벨을 선택하는 부분인데, 내 경우 귀찮아서 5번을 선택했다. 메시지를 잘 읽어보고 적절한 레벨을 선택하면 되는데, vi를 잘 쓰지만 emacs를 못 쓰는 사용자라면 1 혹은 2, emacs를 좀 다룬다면 3이상을 선택하면 될 것 같다.

위 설정은 최초 한번만 수행하면 기록되어서 다시는 물어오지 않는다.

viper-mode 가 기동되면 이후 거의 대부분의 버퍼(쉘 혹은 도움말 같은 특수한 버퍼는 제외)에서 vi의 키맵을 활용할 수 있다.

하지만 주의할 것은, viper-mode는 vi를 흉내내는 모드이지 vim을 흉내내는 모드가 아니라는 점이다. 따라서 visual-block이라던가 윈도우를 나누는 등의 많은 기능은 제공되지 않는다. (이 이야기는 기본적으로 포함되어 있는 viper-mode에 한한 이야기다. 정확히 vimpulse라던가 vimmode 같은 추가 확장도 존재하는데 귀찮아서 다음 기회에...)

임시로 viper-mode를 중지하려면 C-z 키를 누르면 된다. 다시 한번 더 누르면 활성화 된다.

viper-mode 설정은 별도로 홈 디렉토리의 .viper라는 파일에 기록된다. 따라서 필요하다면 이 파일을 직접 수정하면 된다. 레벨 설정 잘못했다고 울 필요 까지는 없다. -_-;;

Emacs가 많은 것을 할 수 있지만 완벽하게 할 수 있는 것은 아니다. viper-mode는 그냥 대체할 수 있는 모드이자 vi유저를 끌어모으기 위한 모드이지 완벽한 편집을 위한 모드는 아니라는 것을 명심해야 할 것 같다. -_-;;;;

댓글 없음 :