선택부터 하고 편집은 나중에? Vim과는 다르게 생각하는 코드 에디터 'Kakoune'

한눈에 보는 핵심 요약
오늘 소개할 도구는 Kakoune, 텍스트를 '선택'하는 방식 자체를 새롭게 정의한 모달(Modal) 코드 편집기입니다. Vim이나 Emacs에 익숙한 개발자라면 눈여겨볼 만한데요, 가장 큰 차이는 이 편집기가 "명령을 먼저 입력하고 대상을 지정"하는 방식이 아니라, **"먼저 선택하고, 그다음 조작한다"**는 철학으로 설계되었다는 점입니다. 덕분에 적은 키 입력만으로도 정교한 편집이 가능해집니다.
다중 선택, Kakoune의 핵심 무기
Kakoune에서 가장 인상적인 기능은 단연 **다중 선택(Multiple Selections)**입니다.
- 정규식으로 원하는 패턴을 한 번에 찾아 여러 개를 동시에 선택할 수 있어요.
- 선택한 항목들을 다시 필터링, 분할, 정렬하는 등 2차, 3차 가공도 가능합니다.
- 텍스트 객체(text objects)와 조건부 선택 기능으로 원하는 부분만 내부 버퍼에 담아 정교하게 다룰 수 있죠.
이 외에도 실무에서 바로 써먹을 만한 편의 기능들이 눈에 띕니다.
- 선택 영역 정렬: 분할된 여러 선택의 커서 위치를 맞춰 기호를 자동으로 들여쓰기 해줍니다.
- 대화형 치환: 선택 영역 안의 텍스트를 시각적으로 확인하면서 바로 바꿀 수 있어요.
- 선택 내용 회전: 함수 매개변수 순서를 바꾸는 것처럼, 선택한 내용들의 순서를 손쉽게 뒤바꿀 수 있습니다.
- 대소문자 변환, 들여쓰기 수준 정렬, 문맥 기반 도움말, 자동완성, 다양한 언어의 구문 강조까지 기본으로 지원합니다.
확장성과 실행 구조도 실무 친화적
Kakoune은 **매크로와 훅(Hooks)**을 통해 자유롭게 기능을 확장할 수 있도록 설계되어 있습니다. 자신만의 워크플로우에 맞게 얼마든지 커스터마이징이 가능하다는 뜻이죠.
실행 구조도 독특합니다. Kakoune은 클라이언트/서버 구조를 채택해서, 새로 여는 모든 편집기 창이 하나의 클라이언트로 동작합니다. 이 덕분에:
- 여러 창에서 같은 파일을 동시에 수정하는 것이 가능하고,
- 창 관리는 X11 창 관리자에게 맡기거나 tmux로 단일 터미널 안에서 통합 관리할 수 있으며,
make나grep같은 명령을 백그라운드에서 실행할 수도 있습니다.
활발한 개발과 커뮤니티
Kakoune 프로젝트는 지금도 활발히 개발 중이며, 새로운 기능과 기여자들의 풀 리퀘스트가 꾸준히 반영되고 있습니다. 궁금한 점이 있다면 Matrix의 #kakoune:libera.chat이나 IRC #kakoune 채널에서 커뮤니티의 도움을 받을 수 있습니다.
마무리하며
Vim의 모달 편집 방식은 익숙하지만 좀 더 직관적이고 강력한 선택 기반 편집을 원했던 분들에게 Kakoune은 신선한 대안이 될 수 있습니다. 특히 정규식 기반 다중 선택과 그 위에서 이루어지는 연쇄적인 텍스트 조작은, 한 번 익숙해지면 편집 속도를 확실히 끌어올려 줄 만한 기능입니다. 새로운 에디터에 도전해보고 싶다면, 공식 설치 가이드를 따라 가볍게 체험해보시는 것을 추천드립니다.