Emacs 처음부터

6825 단어 emacs
원본 게시됨on my blog


Spacemacs는 제가 사용한 최초의 Emacs 버전입니다.evil-modeSPC 니모닉 키 바인딩.

그러나 나는 항상 뭔가 옳지 않다는 느낌이 듭니다. Spacemacs는 숨 깁니다.
후드 아래에 많은 것들이 있으며 내가하는 많은 일을로드합니다.
시작하는 동안 필요하지 않습니다. 이것은 엄청난 낭비가 될 것입니다.
내 편집기에서 모든 것을 제어할 수 있는 새로운 설정이 있습니다.

그래서 나만의 Emacs 구성을 만들었습니다.
생각했던 데로.



이 게시물에서는 내가 구축한 최소한의 단계를 살펴보겠습니다.
기본 키 바인딩이 있는 Spacemacs와 유사한 버전:

General:
  SPC /     : ripgrep
  SPC TAB   : previous buffer
  SPC SPC   : Open M-x

Files:
  SPC p f   : find files

Buffers:
  SPC b b   : buffers list

Window:
  SPC w l   : move right
  SPC w h   : move left 
  SPC w j   : move down
  SPC w k   : move up
  SPC w /   : split right
  SPC w -   : split bottom
  SPC w x   : close window

Other:
  SPC a t   : open terminal in the current buffer

구성 파일



먼저 init.el 파일을 만들어야 합니다.

$ mkdir -p ~/.emacs.d
$ touch ~/.emacs.d/init.el

이제 Emacs는 보기 흉한 도구 모음과 상태 표시줄로 시작할 것입니다.
즉시 제거할 편집기. 이것을 바꾸자.

최소한의 UI



이제 우리는 추악한 모든 것을 비활성화하고 Emacs를 깨끗하게 만들어야 합니다.
Vim, Sublime, Atom,... 또는 오늘날 어떤 현대 편집자처럼 명확합니다.
가지다.

다음을 init.el 시작 부분에 넣으십시오.

;; Minimal UI
(scroll-bar-mode -1)
(tool-bar-mode   -1)
(tooltip-mode    -1)
(menu-bar-mode   -1)

다음으로 패키지 관리자를 추가하여 테마/패키지 설치를 시작합니다.

패키지 관리자



기본적으로 Emacs는 ELPA 패키지 아카이브를 사용하도록 구성되어 있습니다.GNU ELPA , MELPA ,...와 같은 더 많은 저장소를 추가해야 합니다.

이것을 init.el의 시작 부분에 넣으십시오.

;; Package configs
(require 'package)
(setq package-enable-at-startup nil)
(setq package-archives '(("org"   . "http://orgmode.org/elpa/")
                         ("gnu"   . "http://elpa.gnu.org/packages/")
                         ("melpa" . "https://melpa.org/packages/")))
(package-initialize)

다음으로 use-package을 사용하겠습니다.
모르는 경우를 대비하여 패키지를 더 잘 구성하려면 이 패키지
패키지를 쉽게 설치하고 격리할 수 있는 매크로를 제공합니다.
성능 지향적인 방식으로 패키지 구성
깔끔한.

;; Bootstrap `use-package`
(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))
(require 'use-package)

악 모드와 Vim 키 바인딩



이제 패키지 관리자를 설정했으므로 첫 번째 패키지를 설치하겠습니다.
패키지: evil-mode , 이 패키지를 사용하면 Vim과 유사한 키를 사용할 수 있습니다.
Emacs에서 바인딩.

;; Vim mode
(use-package evil
  :ensure t
  :config
  (evil-mode 1))

그게 다야! 이제 Emacs를 다시 시작하면 모드 라인이 표시되는 것을 볼 수 있습니다.
현재 Vim 모드이며 hjkl 로 탐색할 수 있습니다.

테마 설치



내가 찾을 수 있는 최고의 Emacs 테마 중 하나는 doom-themes 패키지입니다.
멋진 테마가 많이 있습니다. 다음 코드는 이것을 설치합니다
주력 테마doom-one를 패키징하고 로드합니다.

;; Theme
(use-package doom-themes
  :ensure t
  :config
  (load-theme 'doom-one t))

투구 설치



Helm은 다음을 위한 프레임워크입니다.
Emacs에서 증분 완성 및 선택 범위 축소. 많은 사람ivy가 훨씬 가볍기 때문에 저에게는 중요하지 않습니다.helm가 사용 및 구성이 더 쉽다는 것을 알았습니다.

다음 스니펫은 퍼지를 설치helm하고 구성합니다.
어울리는:

;; Helm
(use-package helm
  :ensure t
  :init
  (setq helm-mode-fuzzy-match t)
  (setq helm-completion-in-region-fuzzy-match t)
  (setq helm-candidate-number-list 50))

어떤 키 설치



Spacemacs에서 SPC 또는 다른 키 시퀀스를 누르면 작은
다음에 수행할 수 있는 기능 목록을 표시하기 위해 버퍼가 팝업됩니다.which-key를 설치하면 다음과 같이 됩니다.

;; Which Key
(use-package which-key
  :ensure t
  :init
  (setq which-key-separator " ")
  (setq which-key-prefix-prefix "+")
  :config
  (which-key-mode))

사용자 지정 키 바인딩



마지막으로 general로 사용자 정의 키 바인딩 구성을 시작할 수 있습니다.
패키지, 이것은 내 구성이며 접두사는 Spacemacs에서와 같이 SPC입니다.

;; Custom keybinding
(use-package general
  :ensure t
  :config (general-define-key
  :states '(normal visual insert emacs)
  :prefix "SPC"
  :non-normal-prefix "M-SPC"
  ;; "/"   '(counsel-rg :which-key "ripgrep") ; You'll need counsel package for this
  "TAB" '(switch-to-prev-buffer :which-key "previous buffer")
  "SPC" '(helm-M-x :which-key "M-x")
  "pf"  '(helm-find-file :which-key "find files")
  ;; Buffers
  "bb"  '(helm-buffers-list :which-key "buffers list")
  ;; Window
  "wl"  '(windmove-right :which-key "move right")
  "wh"  '(windmove-left :which-key "move left")
  "wk"  '(windmove-up :which-key "move up")
  "wj"  '(windmove-down :which-key "move bottom")
  "w/"  '(split-window-right :which-key "split right")
  "w-"  '(split-window-below :which-key "split bottom")
  "wx"  '(delete-window :which-key "delete window")
  ;; Others
  "at"  '(ansi-term :which-key "open terminal")
))

MacOS에서 일치하는 제목 표시줄 색상



macOS에서 Emacs를 사용하는 경우 이것을 추가하여 제목 표시줄을 가질 수 있습니다.
색상 변경 및 색상 테마 일치:

;; Fancy titlebar for MacOS
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
(add-to-list 'default-frame-alist '(ns-appearance . dark))
(setq ns-use-proxy-icon  nil)
(setq frame-title-format nil)



여기에서 필요에 따라 Emacs를 계속 사용자 정의할 수 있습니다. 예를 들면 다음과 같습니다.
패키지 추가projectile
프로젝트 관리, 더 많은 언어 지원 추가, 모드 사용자 정의
선,...

이 게시물이 도움이 되기를 바라며 자신만의
이맥스 구성. 또한 내customized configuration
here
를 확인할 수 있습니다.

좋은 웹페이지 즐겨찾기