ndc 2017 마이크로토크 - spacemacs: 최고의 에디터는 emacs도 vim도 아니다. emacs와...

Post on 21-Jan-2018

1.436 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

왓 스튜디오김영호

스페이스맥스

편집기이야기

왜 안 IDE요?

Vim과 모달(Modal) 편집

Emacs 실패담

Spacemacs

코딩하며살다보면

1인 개발

버블파이터

왓챠

듀랑고

마주하는파일종류가많은데

cpp, lua, py, rb, sh, scala, js, go

html, css, scss, json, yml, csv

txt, md, sql, dot, tf, Dockerfile

IDE에서되면좋지만

Visual Studio

IntelliJ

Eclipse

PyCharm

패기있게

메모장을 열거나

범용편집기를찾는데

Editplus, Notepad++, TextWrangler

Sublime Text, Atom, VS Code

입맛에안맞는걸

A는 느려

B는 안되는 게 많네

C는 마우스로 손이 많이 가

D는 윈도우 전용이야

E는 유료야

구루(Guru)들은

Vim이나 Emacs 쓴다더라

어느쪽이든

제 경우엔 Vim

Vim은

실행속도가 빨라요

어디서나 동일한 편집 환경

제일중요한것은

모달(Modal) 편집이라고 생각

보통의편집기에서

print ‘Hello, world!’

Hello를 Goodbye로 바꾸려면

print ‘Hello, world!’

← ← ← ← ← ← ← ← ←

print ‘, world!’

⌫⌫⌫⌫⌫

print ‘Goodbye, world!’

G o o d b y e

Vim의모달편집은

편집기에 모드(Mode)가 있다는 건데

편집동작과

커서 움직임, 자르기, 붙이기 등

일반(Normal) 모드

텍스트입력이

G o o d b y e 같은

삽입(Insert) 모드

모드별로동작

일반 모드

삽입 모드

print ‘Hello, world!’

삽입 모드에서 일반모드로 전환하려면

print ‘Hello, world!’

ESC

print ‘Hello, world!’

일반 모드에서 H로 커서를 움직이고 싶으면

print ‘Hello, world!’

Find H

print ‘Hello, world!’

콤마(,)까지 지우고 삽입 모드로 바꾸려면

print ‘, world!’

change to ,

print ‘Goodbye, world!’

G o o d b y e

print ‘Goodbye, world!’

ESC

다시 일반 모드로

<p>Welcome to Vim</p>

태그 안의 내용을 지우고 싶다면

<p></p>

delete in tag

빠르게원하는동작을

어떤 Vim 책에선 ‘생각의 속도로 편집한다’고

Vim의모달편집은

중독되면 치료가 불가능한데

거의모든 IDE에

Vim의 모달 편집을 재현해주는 플러그인이 있고

Chrome과 Firefox에는

Vim 단축키로 웹 브라우징하는 플러그인도

하지만

Vim은 태생이 편집기라

IDE만큼강력한

기능을 지원하기엔 한계가

Scala로일할때

Vim의 기능 부족으로 IntelliJ를 써야 했는데

IdeaVim은안되는게많았고

IntelliJ의 Vim 플러그인

옆동네 Emacs는

Ensime이라는 플러그인으로 Scala 코딩한다더라

옆자리동료는극단적으로

alias vim=emacs 하기도

하지만실패

Vim과 Emacs가 섞이자 손가락이 제곱으로 꼬임

Emacs는

Emacs Lisp이라는 전용 언어 기반으로

거의모든기능을

입맛에 맞게 재구현할 수 있지만

Ctrl, Alt 키조합

단축키라 편집이 매우 불편한데

RSI라는

반복사용 긴장성 손상 증후군을 운운하며

새끼손가락 안부를 묻기도 하고

훌륭한운영체제라고조롱

슬랙도 트위터도 이메일도 게임도 되는데

좋은 편집기만 있으면 되겠네?

어쨌든

Emacs의 풍부한 플러그인이 부러워졌는데

EVIL이라는게있더라

Extensible VI Layer for Emacs

Vim을완벽히재현해주지는

IdeaVim과 비슷하게

고쳐서쓸수있는데

Emacs는 입맛대로 바꿀 수 있으니까

이걸알아보다가

Spacemacs를 알게 되었다

Spacemacs는

Vim 사용자였으나

더 풍부한 플러그인을 갈망한 사람들이

최고의편집기는

‘Emacs와 Vim이다’ 를 모토로

커뮤니티주도하에

모두가 동의할 수 있는 방향으로

EVIL을 Vim과더비슷하게

다양한 EVIL 플러그인 통합

Emacs의어려운부분을쉽게

플러그인 관리

일관된 단축키

Spacemacs의모달편집은

써본 것 중 Vim과 제일 흡사하고

다른단축키들은

Ctrl, Alt키 대신 Space 기반으로

연상하기쉽게

SPC window split

SPC file find

SPC git status

다양한기능포함

일명 Batteries Included

한줄추가만으로

dotspacemacs-configuration-layers‘(docker

graphvizorgscalaversion-control)

Org

Markdown과 비슷한 파일 형식

편집기와 통합된 풍부한 기능

정리

Vim 모달 편집 좋다

Emacs 플러그인 좋다

Spacemacs 둘 다

징검다리연휴엔

Spacemacs 한 번 써보는 건 어떨까요?

감사합니다

github.com/yeonghoey

top related