Computer >> 컴퓨터 >  >> 시스템 >> Linux

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Emacs는 확장성의 정점에 선 도구입니다. 처음에는 nano와 비슷한 단순한 텍스트 편집기로 만들어졌지만, 요즘은 Emacs를 '무엇이든 할 수 있는 Lisp 인터프리터'로 생각하는 사람이 많습니다.

실제로 Emacs는 웹 브라우저, 음악 플레이어, 심지어 윈도우 매니저 역할까지 수행할 수 있습니다. 이 글에서는 생산성을 크게 높여 줄 다섯 가지 패키지와, 순정 Emacs에서 이를 설치하는 방법까지 차근차근 소개합니다.

순정(Vanilla) Emacs

최소 설치 상태의 Emacs도 이미 대부분의 기능을 갖추고 있습니다. 텍스트 편집기로서 기본 사용법을 친절하게 알려 주는 튜토리얼이 포함되어 있어 초보자도 쉽게 시작할 수 있습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

또한 각 함수를 자세히 설명해 주는 강력한 문서 모드를 제공하며, 무엇보다 Emacs 자체 내부에서 서드파티 확장 기능을 설치할 수 있는 강력한 패키지 관리 시스템을 갖추고 있습니다.

Emacs 패키지 설치 방법

Emacs에 서드파티 패키지를 설치하는 과정은 생각보다 간단합니다. 명령 버퍼를 열고 명령어를 입력하기만 하면 됩니다. Alt + x를 누른 후 list-packages를 입력해 보세요. 그러면 설치 가능한 모든 패키지 목록이 담긴 창이 열립니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

이 창은 일반적인 Emacs 버퍼와 동일하게 동작합니다. Ctrl + s로 검색할 수 있고, Ctrl + n, Ctrl + p 같은 표준 이동 키로 커서를 옮길 수도 있습니다.

패키지를 설치하려면 Enter 키를 누르거나 목록에서 패키지 이름을 클릭하면 됩니다. 여기서는 예시로 ledger-mode 패키지를 설치해 보겠습니다.

먼저 설치하려는 패키지 이름을 검색한 뒤 선택하고, Enter를 눌러 패키지 세부 정보를 보여 주는 별도 버퍼를 열었습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

이 버퍼에서는 선택한 패키지에 대한 정보를 확인할 수 있으며, 실제 설치도 여기서 진행합니다. Ctrl + x + o로 커서를 해당 버퍼로 옮긴 뒤 'Install' 버튼에서 Enter를 누르거나, 마우스로 'Install' 버튼을 클릭하면 됩니다.

ELPA와 MELPA: Emacs 패키지 저장소

알아 두어야 할 중요한 사실은 Emacs 패키지의 공급원이 크게 두 가지라는 점입니다. 첫 번째는 ELPA(Emacs Lisp Package Archive)로, Emacs 개발진이 직접 관리하는 공식 패키지 저장소입니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

ELPA에는 개발자가 직접 유지 관리하거나 대다수 Emacs 사용자가 사용하는 기본적이고 안정적인 패키지들이 주로 수록되어 있습니다.

두 번째 저장소는 MELPA(Milkypostman's Emacs Lisp Package Archive)입니다. 더 넓은 Emacs 커뮤니티가 적극적으로 관리하는 이 서드파티 저장소에는 Emacs용 패키지 대부분이 모여 있으며, 새 버전이 끊임없이 업데이트됩니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

다만 MELPA는 Emacs의 기본 설정에 포함되어 있지 않습니다. 이 저장소를 추가하려면 init.el 파일에 다음 줄을 추가하세요:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

이 Lisp 코드는 먼저 Emacs 내에서 package.el 패키지를 로드합니다. 그다음 add-to-list 함수로 내부 아카이브 목록을 수정하여, Emacs가 MELPA 저장소와 해당 URL을 사용하도록 만듭니다.

마지막으로 실행되는 package-initialize 명령은 package.el 패키지를 시작하며, 이제 Emacs가 ELPA와 MELPA 양쪽을 모두 불러올 수 있음을 의미합니다.

그럼 생산성 향상에 유용한 다섯 가지 Emacs 패키지를 하나씩 살펴보겠습니다.

1. Org Mode

Org Mode는 그 자체로 방대한 프로그램입니다. 핵심적으로는 Emacs의 일정 관리 및 조직화 모드로, 직관적이면서 기능이 풍부한 문법을 통해 깔끔하고 체계적인 작업 추적을 가능하게 합니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

이 문법은 많은 Emacs 사용자들에게 노트 작성과 출판 용도로도 널리 채택되었습니다. org-export-dispatch 기능을 사용하면 org 파일을 LaTeX, HTML, OpenDocument 등 다양한 형식으로 손쉽게 내보낼 수 있습니다.

게다가 Org Mode는 확장성이 매우 뛰어납니다. Org 사용자들은 이 모드를 다양한 프로그램에 활용하며 새로운 기능과 확장을 끊임없이 만들어 왔습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Org mode는 ELPA 저장소에서 받을 수 있습니다. 설치 후에는 .org 파일을 만드는 것만으로 바로 Org mode를 사용할 수 있습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

2. Magit

프로그래머라면 git 버전 관리 시스템을 이미 알고 있을 것입니다. git은 특정 파일 집합의 변경 사항을 추적할 수 있게 해 주는 프로그램으로, 여러 버전의 파일을 관리하며 쉽게 디버깅하고 변경 사항을 배포해야 하는 소프트웨어 개발 환경에서 매우 유용합니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Magit은 Emacs용 git 클라이언트입니다. Emacs 안에서 git 저장소를 완벽하게 관리할 수 있는 풀 기능 프로그램으로, 버퍼에서 편집하는 도중에도 파일을 매끄럽게 커밋하고 커밋 히스토리를 탐색할 수 있는 것이 가장 큰 장점입니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Magit은 Emacs에서 git 관련 작업을 처리하는 원스톱 솔루션입니다. 이 한 가지 이유만으로도 Magit은 Emacs를 사용하는 프로그래머에게 가장 중요한 패키지 중 하나로 꼽힙니다.

Magit은 MELPA 저장소에서 설치할 수 있습니다.

3. Evil Mode

Evil은 Extensible Vi Layer의 약자로, Emacs에서 Vim 스타일 키 바인딩을 사용할 수 있게 해 주는 모드입니다. Emacs를 시작하기 전에 이미 Vim을 즐겨 사용했다면 특히 유용합니다. 기본 Vi 이동 키는 물론 ciw, ci", ci< 같은 추가 Vim 키까지 모두 지원합니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

주의할 점은 Evil이 Emacs의 기본 키 바인딩을 모두 대체하지는 않는다는 것입니다. Evil의 동작 방식은 셸에서 set -o vi를 설정하는 것과 비슷합니다. Emacs 위에 Vi 에뮬레이션 계층만 얹는 것이므로, Alt + x, Ctrl + x, Ctrl + f 같은 기본 키 바인딩도 여전히 그대로 사용할 수 있습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Evil은 MELPA 저장소에서 구할 수 있으며, 설치 과정도 비교적 간단합니다. 설치 후에는 init.el에 몇 줄의 코드만 추가하면 바로 활성화할 수 있습니다:

(require 'evil)
(evil-mode 1)

4. Focus Mode

Focus는 현재 작업 중인 텍스트를 돋보이게 하기 위해 선택되지 않은 텍스트의 색을 능동적으로 변경해 주는 간단한 Emacs 확장입니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

또한 Focus는 텍스트의 종류와 형태를 지능적으로 구분해 강조합니다. 문장과 단락을 사용하는 에세이형 글쓰기에도 잘 어울리고, 함수와 괄호를 사용하는 프로그래밍 코드에도 탁월하게 작동합니다.

그렇기 때문에 작업 중인 단락이나 코드 블록을 시각적으로 부각하고 싶은 작가와 프로그래머 모두에게 특히 유용한 도구입니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Focus는 MELPA 저장소에서 구할 수 있습니다. 설치 후에는 Alt + x를 누르고 focus-mode를 입력하기만 하면 간단히 활성화됩니다.

5. Darkroom

Focus와 비슷하게 Darkroom 역시 '집중 지향' 확장입니다. 다만 프로그래머보다는 작가에게 더 적합합니다. Darkroom은 메뉴 바, 스크롤 바, 모드 라인 등 Emacs 프레임 주변의 불필요한 정보를 모두 제거하여 방해 요소 없는 환경을 만들어 줍니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

더 나아가 Darkroom은 텍스트를 약 80열 폭으로 가운데 정렬해 보여 줍니다. 화면의 한 영역에만 시선을 집중시켜 가독성을 높여 주므로, 에세이를 작성하거나 교정할 때 특히 효과적입니다.

Darkroom은 사용자 지정도 가능합니다. darkroom-increase-marginsdarkroom-decrease-margins 명령으로 텍스트의 기본 여백을 자유롭게 조절할 수 있습니다.

생산성을 극대화해 주는 Emacs 필수 패키지 5가지

Darkroom은 ELPA 저장소에서 구할 수 있으며, 명령 버퍼에서 Alt + x를 누르고 darkroom-mode를 입력하면 손쉽게 활성화할 수 있습니다.

축하합니다! 이제 작업 흐름의 생산성을 크게 끌어올릴 수 있는 유용한 Emacs 패키지들을 익히셨습니다. Linux에서 생산성을 높이는 간단한 팁이 더 궁금하다면 관련 글도 함께 확인해 보시기 바랍니다.

자주 묻는 질문

1. MELPA는 안전하게 사용할 수 있나요?

네! 소수의 선별된 관리자만 MELPA 아카이브에 패키지를 추가할 수 있습니다. 패키지를 제출하려면 개발자가 아카이브 관리자에게 풀 리퀘스트를 보내야 하며, 이후 관리자의 검토와 승인 절차를 거쳐야 합니다. 이러한 과정 덕분에 MELPA의 모든 패키지는 일반 사용자가 안심하고 사용할 수 있습니다.

2. MELPA 웹사이트에서 제공하는 패키지가 최신 개발 버전이라던데, 패키지가 깨질 수도 있나요?

그럴 가능성은 거의 없습니다. MELPA의 패키지들은 정상 작동 여부를 확인하기 위해 끊임없이 빌드되고 있습니다.

그럼에도 불구하고 패키지가 깨질 가능성이 걱정된다면, MELPA가 제공하는 stable 브랜치를 이용하세요. 이 저장소는 업데이트 빈도가 낮으며, 수록된 패키지는 현재 버전의 Emacs로 테스트를 마친 것들입니다. MELPA-Stable 저장소를 사용하려면 init.el 파일을 다음과 같이 수정하세요:

(require 'package)
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)

3. 이 패키지가 더 이상 필요 없습니다. Emacs에서 패키지를 어떻게 삭제하나요?

list-packages 페이지 하단에서 설치된 패키지 목록을 확인할 수 있습니다. Ctrl + s를 누르고 'installed'를 입력해 검색하는 방법도 있습니다.

삭제할 패키지를 고른 후 Enter를 누르고, 설명 버퍼에서 'Delete' 버튼을 클릭하세요. Emacs가 자동으로 시스템에서 해당 패키지를 제거해 줍니다.

다만 한 가지 유의할 점은, 이 과정이 init.el 파일에 직접 작성한 설정까지는 지워 주지 않는다는 것입니다. 예를 들어 특정 패키지 X에 대한 설정을 추가해 두었다면, 해당 설정은 반드시 수동으로 삭제해야 합니다.