Doom-emacs: ์„ค์น˜ ์˜ค๋ฅ˜

์— ๋งŒ๋“  2018๋…„ 03์›” 29์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: hlissner/doom-emacs

๊ด€์ฐฐ ๋œ ํ–‰๋™

git clone, cp init.example.el init.el, ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ค์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์™„๋ฃŒ
ox-reveal ์„ค์น˜
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'org-20150330'ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ 9.1.9 ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ค‘์•™ ์ฐฝ ๋ชจ๋“œ ์„ค์น˜
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'centered-window-mode-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
ob-redis ์„ค์น˜
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'ob-redis-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
auth-password-store ์„ค์น˜
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'auth-password-store-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
help-fns + ์„ค์น˜
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'help-fns +-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋๋งˆ์นœ!

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

์žฌํ˜„ ๋‹จ๊ณ„

  1. ๋‹ค์Œ ์˜ˆ์ œ ๋‹จ๊ณ„๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.
  2. ๊ทธ๋“ค์„ ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค,
  3. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์ •ํ™•ํ•œ ๋‹จ๊ณ„๋กœ ๊ต์ฒดํ•˜์‹ญ์‹œ์˜ค.

์‹œ์Šคํ…œ ์ •๋ณด


์•„์น˜ ๋ฆฌ๋ˆ…์Šค x86_64
์ด๋งฅ์Šค 25.3.1

Replace this line with the output of *one* of these commands:

+ `M-x doom/info` (from inside Emacs)
+ `DEBUG=1 make doctor` (command line)

DOOM ๋‹ฅํ„ฐ
Emacs v25.3.1 ์‹คํ–‰, 5dacbb7cb1c6ac246a9ccd15e6c4290def67757c ์ปค๋ฐ‹

์…ธ : / usr / bin / zsh
๋‹ค์Œ์œผ๋กœ ์ปดํŒŒ์ผ :
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB ์•Œ๋ฆผ
TOOLKIT_SCROLL_BARS GTK3 X11 ๋ชจ๋“ˆ
uname -a :
Linux SeAL80s 4.14.30-1-MANJARO # 1 SMP PREEMPT ์ผ์š”์ผ 3 ์›” 25 ์ผ 19:47:20 UTC
2018 x86_64 GNU / ๋ฆฌ๋ˆ…์Šค

DOOM๋กœ๋“œ ์‹œ๋„ : ์„ฑ๊ณต! v2.0.9๋กœ๋“œ ๋จ
๊ณ ์นจ 5dacbb7cb1c6ac246a9ccd15e6c4290def67757c


ํ…Œ์ŠคํŠธ ์—๋ฉ•
ํ…Œ์ŠคํŠธ ์ฐฝ
ํ…Œ์ŠคํŠธ ๊ธ€๊ผด
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ material-design-icons.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ weathericons.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ octicons.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ fontawesome.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ file-icons.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
๊ฒฝ๊ณ  : /home/daniel/.local/share/fonts/์—์„œ all-the-icons.ttf ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
'Mx all-the-icons-install-fonts'๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋งฅ์Šค.

์ด๋Š” ๋น„ํ‘œ์ค€ ์œ„์น˜์— ์„ค์น˜ํ–ˆ์Œ์„ ์˜๋ฏธ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.
์‹œํ—˜๊ด€
test-tls
https://elpa.gnu.org ๊ฒ€์ฆ
https://melpa.org ๊ฒ€์ฆ
https://self-signed.badssl.com์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://wrong.host.badssl.com/์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ…Œ์ŠคํŠธ ํƒ€๋ฅด
๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์•„ ๋ณด์ด๊ณ  ํ–‰๋ณตํ•œ Emacs'ing!

bug resolved

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@ SeAL80s ์˜ฌ๋ฐ”๋ฅธ ํ๋ฆ„์€

  1. Doom-emacs ๋ณต์ œ
  2. cd ~/.emacs.d && git checkout develop
  3. mkdir ~/.doom.d && cp ~/.emacs.d/init.example.el ~/.doom.d/init.el
  4. cd ~/.emacs.d && make install

๋ชจ๋“  31 ๋Œ“๊ธ€

develop ์ „ํ™˜ํ•˜์‹ญ์‹œ์˜ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ ๊ณง ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋‹ซ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. develop ์ด ๋ณ‘ํ•ฉ ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์—ด์–ด๋‘๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚˜๋„..
์ฒดํฌ ์•„์›ƒ ํ•  ๋•Œ ..
์žฌ๊ท€๋กœ๋“œ : "/home/liuxu/.emacs.d/modules/config/private/init.el", "/home/liuxu/.config/doom/init.el", "/home/liuxu/.emacs. d / modules / config / private / init.el ","/home/liuxu/.config/doom/init.el ","/home/liuxu/.emacs.d/modules/config/private/init.el " , "/home/liuxu/.config/doom/init.el", "/home/liuxu/.emacs.d/modules/config/private/init.el", "/home/liuxu/.config/doom/ init.el ","/home/liuxu/.emacs.d/modules/config/private/init.el ","/home/liuxu/.emacs.d/init.el "
Makefile : 92 : ๋Œ€์ƒ '.local / autoloads.el'์— ๋Œ€ํ•œ ๋ ˆ์‹œํ”ผ ์‹คํŒจ
make : * [.local / autoloads.el] ์˜ค๋ฅ˜ 255

์ตœ์‹  ๊ฐœ๋ฐœ์„ํ•˜๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ? config/private ๋ชจ๋“ˆ์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  Doom์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์— ~/.emacs.d/init.el ๋ฅผ ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ Doom์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

liuxu:~$ git clone -b develop https://github.com/hlissner/doom-emacs ~/.emacs.dCloning into '/home/liuxu/.emacs.d'...
remote: Counting objects: 33294, done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 33294 (delta 136), reused 180 (delta 106), pack-reused 33044
Receiving objects: 100% (33294/33294), 9.37 MiB | 2.07 MiB/s, done.
Resolving deltas: 100% (23004/23004), done.
Checking connectivity... done.
liuxu:~$ cd .emacs.d/
liuxu:.emacs.d$ git branch -av
* develop                    a582bdf app/calendar: fix typo causing void-variable error
  remotes/origin/HEAD        -> origin/master
  remotes/origin/develop     a582bdf app/calendar: fix typo causing void-variable error
  remotes/origin/master      5dacbb7 Merge branch 'develop'
  remotes/origin/screenshots e2956e5 Add screenshots
liuxu:.emacs.d$ cp init.example.el init.el
liuxu:.emacs.d$ make install
Symbolโ€™s function definition is void: doom!
Makefile:93: recipe for target '.local/autoloads.el' failed
make: *** [.local/autoloads.el] Error 255

cp init.example.el init.el

์ด ๋‹จ๊ณ„๋ฅผ cp init.example.el ~/.doom.d/init.el

Doom์€ ์ด์ œ ๋ฎ์–ด ์“ฐ์ง€ ์•Š์•„์•ผํ•˜๋Š” ๊ธฐ๋ณธ init.el์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณง์ด๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์„œ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

liuxu:~$ git clone -b develop https://github.com/hlissner/doom-emacs ~/.emacs.d
Cloning into '/home/liuxu/.emacs.d'...
remote: Counting objects: 33294, done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 33294 (delta 136), reused 180 (delta 106), pack-reused 33044
Receiving objects: 100% (33294/33294), 9.37 MiB | 2.05 MiB/s, done.
Resolving deltas: 100% (23004/23004), done.
Checking connectivity... done.
liuxu:~$ mkdir .doom.d
liuxu:~$ cd .emacs.d/
liuxu:.emacs.d$ cp init.example.el ~/.doom.d/init.el
liuxu:.emacs.d$ make install
Installing core packages
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Contacting host: elpa.gnu.org:443
Contacting host: elpa.gnu.org:443
Contacting host: melpa.org:443
Contacting host: melpa.org:443
Contacting host: orgmode.org:443
Contacting host: orgmode.org:443
Package refresh done
โœ“ Installed persistent-soft
โœ“ Installed use-package
โœ“ Installed quelpa
โœ“ Installed async
Installing core packages...done
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Warning: Eager macro-expansion skipped due to cycle:
  โ€ฆ => (load "core.el") => (macroexpand-all โ€ฆ) => (macroexpand (eval-and-compile โ€ฆ)) => (load "init.el") => (load "core.el")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Eager macro-expansion failure: (error "Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™")
Recursive โ€˜requireโ€™ for feature โ€˜coreโ€™
Makefile:93: recipe for target '.local/autoloads.el' failed
make: *** [.local/autoloads.el] Error 255

์ด์ƒํ•˜๊ฒŒ๋„ ~/.doom.d/init.el ๋‹ค์Œ ์ค„์ด์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

(require 'core (concat user-emacs-directory "core/core"))

๊ทธ๋Ÿฌ๋‚˜ 0026f08e์˜ init.example.el ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค (~ 7 ์‹œ๊ฐ„ ์ „). ~/.doom.d/init.el ์— ์ค„์ด ์—†๋Š”์ง€ ํ™•์ธํ•˜๊ณ ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

liuxu:.doom.d$ cat init.el | grep "concat"
liuxu:.doom.d$ 
liuxu:.doom.d$ pwd
/home/liuxu/.doom.d
liuxu:.doom.d$ cat init.el 
;;; init.example.el -*- lexical-binding: t; -*-

(doom! :feature
       (popup            ; tame sudden yet inevitable temporary windows
        +all             ; catch all popups that start with an asterix
        +defaults)       ; default popup rules
      ;debugger          ; FIXME stepping through code, to help you add bugs
       eval              ; run code, run (also, repls)
       (evil +everywhere); come to the dark side, we have cookies
       file-templates    ; auto-snippets for empty files
       (lookup           ; helps you navigate your code and documentation
        +devdocs         ; ...on devdocs.io online
        +docsets)        ; ...or in Dash docsets locally
       services          ; TODO managing external services & code builders
       snippets          ; my elves. They type so I don't have to
       spellcheck        ; tasing you for misspelling mispelling
       syntax-checker    ; tasing you for every semicolon you forget
       version-control   ; remember, remember that commit in November
       workspaces        ; tab emulation, persistence & separate workspaces

       :completion
       company           ; the ultimate code completion backend
      ;helm              ; the *other* search engine for love and life
      ;ido               ; the other *other* search engine...
       ivy               ; a search engine for love and life

       :ui
       doom              ; what makes DOOM look the way it does
       doom-dashboard    ; a nifty splash screen for Emacs
       doom-modeline     ; a snazzy Atom-inspired mode-line
       doom-quit         ; DOOM quit-message prompts when you quit Emacs
       evil-goggles      ; display visual hints when editing in evil
       hl-todo           ; highlight TODO/FIXME/NOTE tags
       nav-flash         ; blink the current line after jumping
      ;posframe          ; use child frames where possible (Emacs 26+ only)
      ;tabbar            ; FIXME an (incomplete) tab bar for Emacs
      ;unicode           ; extended unicode support for various languages
       vi-tilde-fringe   ; fringe tildes to mark beyond EOB
       window-select     ; visually switch windows

       :tools
       dired             ; making dired pretty [functional]
       electric-indent   ; smarter, keyword-based electric-indent
       eshell            ; a consistent, cross-platform shell (WIP)
       gist              ; interacting with github gists
       imenu             ; an imenu sidebar and searchable code index
       impatient-mode    ; show off code over HTTP
      ;macos             ; MacOS-specific commands
       make              ; run make tasks from Emacs
      ;magit             ;
       neotree           ; a project drawer, like NERDTree for vim
       password-store    ; password manager for nerds
       pdf               ; pdf enhancements
      ;rgb               ; creating color strings
       rotate-text       ; cycle region at point between text candidates
       term              ; terminals in Emacs
       tmux              ; an API for interacting with tmux
       upload            ; map local to remote projects via ssh/ftp

       :lang
       assembly          ; assembly for fun or debugging
       cc                ; C/C++/Obj-C madness
       crystal           ; ruby at the speed of c
       clojure           ; java with a lisp
       csharp            ; unity, .NET, and mono shenanigans
       data              ; config/data formats
       elixir            ; erlang done right
       elm               ; care for a cup of TEA?
       emacs-lisp        ; drown in parentheses
       ess               ; emacs speaks statistics
       go                ; the hipster dialect
       (haskell +intero) ; a language that's lazier than I am
       hy                ; readability of scheme w/ speed of python
       (java +meghanada) ; the poster child for carpal tunnel syndrome
       javascript        ; all(hope(abandon(ye(who(enter(here))))))
       julia             ; a better, faster MATLAB
       latex             ; writing papers in Emacs has never been so fun
       ledger            ; an accounting system in Emacs
       lua               ; one-based indices? one-based indices
       markdown          ; writing docs for people to ignore
       nix               ; I hereby declare "nix geht mehr!"
       ocaml             ; an objective camel
       (org              ; organize your plain life in plain text
        +attach          ; custom attachment system
        +babel           ; running code in org
        +capture         ; org-capture in and outside of Emacs
        +export          ; Exporting org to whatever you want
        +present         ; Emacs for presentations
        +publish)        ; Emacs+Org as a static site generator
       perl              ; write code no one else can comprehend
       php               ; perl's insecure younger brother
       plantuml          ; diagrams for confusing people more
       purescript        ; javascript, but functional
       python            ; beautiful is better than ugly
       rest              ; Emacs as a REST client
       ruby              ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
       rust              ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
       scala             ; java, but good
       sh                ; she sells (ba|z)sh shells on the C xor
       swift             ; who asked for emoji variables?
       typescript        ; javascript, but better
       web               ; the tubes

       ;; Applications are complex and opinionated modules that transform Emacs
       ;; toward a specific purpose. They may have additional dependencies and
       ;; should be loaded late.
       :app
      ;(email +gmail)    ; emacs as an email client
      ;irc               ; how neckbeards socialize
      ;(rss +org)        ; emacs as an RSS reader
      ;twitter           ; twitter client https://twitter.com/vnought
      ;(write            ; emacs as a word processor (latex + org + markdown)
      ; +wordnut         ; wordnet (wn) search
      ; +langtool)       ; a proofreader (grammar/style check) for Emacs

       :config
       ;; The default module set reasonable defaults for Emacs. It also provides
       ;; a Spacemacs-inspired keybinding scheme, a custom yasnippet library,
       ;; and additional ex commands for evil-mode. Use it as a reference for
       ;; your own modules.
       (default +bindings +snippets +evil-commands))

liuxu:.doom.d$ 

init.el ์™ธ์— ~/.doom.d ๋น„์–ด ์žˆ์Šต๋‹ˆ๊นŒ?

~/.emacs.d ( make compile ) ๋ฐ”์ดํŠธ ์ปดํŒŒ์ผ ํ–ˆ์Šต๋‹ˆ๊นŒ?

```bash
liuxu : ~ $ rm -rf .emacs.d / .doom.d /
liuxu : ~ $ mkdir .doom.d
liuxu : ~ $ git clone -b develop https://github.com/hlissner/doom-emacs ~ / .emacs.d
'/home/liuxu/.emacs.d'๋กœ ๋ณต์ œ ์ค‘ ...
์›๊ฒฉ : ๋ฌผ์ฒด ์„ธ๊ธฐ : 33309, ์™„๋ฃŒ.
์›๊ฒฉ : ๊ฐœ์ฒด ์••์ถ• : 100 % (153/153), ์™„๋ฃŒ.
์›๊ฒฉ : ์ด 33309 (๋ธํƒ€ 145), ์žฌ์‚ฌ์šฉ 190 (๋ธํƒ€ 111), ํŒฉ ์žฌ์‚ฌ์šฉ 33044
๊ฐœ์ฒด ์ˆ˜์‹  : 100 % (33309/33309), 9.38 MiB | 1.97 MiB / s, ์™„๋ฃŒ.
๋ธํƒ€ ํ•ด๊ฒฐ : 100 % (23013/23013), ์™„๋ฃŒ.
์—ฐ๊ฒฐ ํ™•์ธ ์ค‘ ... ์™„๋ฃŒ.
liuxu : ~ $ cd .emacs.d /
liuxu : .emacs.d $ cp init.example.el ~ / .doom.d / init.el
liuxu : .emacs.d $ git branch -av

  • ์ƒˆ๋กœ์šด make ๋น ๋ฅธ ์‹œ์ž‘ ์›Œํฌ ํ”Œ๋กœ๋กœ 0e12761 ์—…๋ฐ์ดํŠธ README ๊ฐœ๋ฐœ
    ๋ฆฌ๋ชจํŠธ / ์˜ค๋ฆฌ์ง„ / HEAD-> ์˜ค๋ฆฌ์ง„ / ๋งˆ์Šคํ„ฐ
    remotes / origin / develop 0e12761 ์ƒˆ๋กœ์šด make ๋น ๋ฅธ ์‹œ์ž‘ ์›Œํฌ ํ”Œ๋กœ๋กœ README ์—…๋ฐ์ดํŠธ
    remotes / origin / master 5dacbb7 Merge branch 'develop'
    ์›๊ฒฉ / ์›๋ณธ / ์Šคํฌ๋ฆฐ ์ƒท e2956e5 ์Šคํฌ๋ฆฐ ์ƒท ์ถ”๊ฐ€
    liuxu : .emacs.d $ ls -al ~ / .doom.d /
    ์ด 16
    drwxrwxr-x 2 liuxu liuxu 4096 4 ์›” 4 18:30.
    drwxr-xr-x 46 liuxu liuxu 4096 4 ์›” 4 ์ผ 18:30 ..
    -rw-rw-r-- 1 liuxu liuxu 6521 4 ์›” 4 18:30 init.el
    liuxu : .emacs.d $ make install
    ํ•ต์‹ฌ ํŒจํ‚ค์ง€ ์„ค์น˜
    package-keyring.gpg ๊ฐ€์ ธ ์˜ค๋Š” ์ค‘ ...
    package-keyring.gpg ๊ฐ€์ ธ ์˜ค๊ธฐ ... ์™„๋ฃŒ
    ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์—ฐ๋ฝ : elpa.gnu.org:443
    ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์—ฐ๋ฝ : elpa.gnu.org:443
    ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์—ฐ๋ฝ : melpa.org:443
    ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์—ฐ๋ฝ : melpa.org:443
    ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์—ฐ๋ฝ : orgmode.org:443
    ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์™„๋ฃŒ
    โœ“ ์˜๊ตฌ ์†Œํ”„ํŠธ ์„ค์น˜
    โœ“ ์„ค์น˜๋œ ์‚ฌ์šฉ ํŒจํ‚ค์ง€
    โœ“ ์„ค์น˜๋œ quelpa
    โœ“ ์„ค์น˜๋œ ๋น„๋™๊ธฐ
    ํ•ต์‹ฌ ํŒจํ‚ค์ง€ ์„ค์น˜ ์ค‘ ... ์™„๋ฃŒ
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์žฌ๊ท€ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์žฌ๊ท€ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์žฌ๊ท€ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)
    ๊ธฐ๋Šฅ 'ํ•ต์‹ฌ'์— ๋Œ€ํ•œ ์žฌ๊ท€ ์  '์š”๊ตฌ ์‚ฌํ•ญ'
    Makefile : 97 : ๋Œ€์ƒ '.local / autoloads.el'์— ๋Œ€ํ•œ ๋ ˆ์‹œํ”ผ ์‹คํŒจ
    make : * [.local / autoloads.el] ์˜ค๋ฅ˜ 255
    liuxu : .emacs.d $
    `

๋‚˜๋Š” ์ด๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ์—ฐํžˆ ~/.config/doom ํด๋”๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? (require 'core (concat user-emacs-directory "core/core")) ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” init.el์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ง€ ๋œ ๊ฒฝ์šฐ ~/.doom.d ๋Œ€์‹  ~/.config/doom ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ•˜ํ•˜, ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” Ubuntu16.04, ~/.config/ ๋ชจ๋“  ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ~

์ด์ œ Arch Linux x86_64์™€ ํ•จ๊ป˜ emacs 25.3.3์— ์žˆ์Šต๋‹ˆ๋‹ค. doom-emacs master์—๋Š” ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'org-20150330'ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ 9.1.9 ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'centered-window-mode-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'ob-redis-'ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฐ ๊ฐœ๋ฐœ ์ง€์ 
screenshot_2018-04-13_11-37-31
๋ฉ‹์ง„ UI๋Š” ์—†์ง€๋งŒ "Doom์€ 0.585 ์ดˆ ๋™์•ˆ 0 ๊ฐœ ๋ชจ๋“ˆ์— 123 ๊ฐœ์˜ ํŒจํ‚ค์ง€๋ฅผ๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

@ SeAL80s ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์—์„œ emacs๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— make ๋ฅผ ์‹คํ–‰ ํ–ˆ์Šต๋‹ˆ๊นŒ?

@mbark ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ 'make install'์€

"์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'org-20150330'ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ 9.1.9 ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

git checkout develop then make (๋˜๋Š” make install) ์œ„์™€ ๊ฐ™์ด ํ‘œ์‹œ๋˜๋ฉฐ ์ƒ‰์ƒ UI๊ฐ€ ์—†์œผ๋ฉฐ 44 ๊ฐœ์˜ ํŒจํ‚ค์ง€ ๋งŒ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ๋Š” 300+์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ 'make install'์„ํ•˜๊ณ  ๋‚˜์„œ checkout์„ํ•˜๋ฉด 'make'๋Š” 250 ๊ฐœ ์ด์ƒ์˜ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  44 ๊ฐœ์˜ ํŒจํ‚ค์ง€๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค.

git clone doom-emacs์ด๋ฉด cp init.example.el init.el (dev branch์— ์ด๋ฏธ init.el์ด ์žˆ์Šต๋‹ˆ๋‹ค), 'make install'์€ 'Symbol์˜ ํ•จ์ˆ˜ ์ •์˜๊ฐ€ void : doom!'์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

@ SeAL80s ์˜ฌ๋ฐ”๋ฅธ ํ๋ฆ„์€

  1. Doom-emacs ๋ณต์ œ
  2. cd ~/.emacs.d && git checkout develop
  3. mkdir ~/.doom.d && cp ~/.emacs.d/init.example.el ~/.doom.d/init.el
  4. cd ~/.emacs.d && make install

@fuxialexander ๋ฐฉ๊ธˆ ๋‚˜ ์ž์‹ ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์—๋Š” ~ / .doom.d /๊ฐ€ ํ•„์š”ํ•˜๊ณ  init.example.el์„ ~ / .doom.d /์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋‹น์‹ ์ด ์œ„์˜ ์˜ท์„ ์ž…์€ ๊ฒƒ์ฒ˜๋Ÿผํ–ˆ๊ณ  ๊ทธ๊ฒƒ์€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@ SeAL80s @hlissner ๋Š” ๋ฌธ์„œ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋  ์˜ˆ์ •์ด๋ฉฐ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์˜ ์ผ๋ถ€๋ผ๊ณ  ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž ์šฉ ์ง€์ ์—์„œ @hlissner๋Š” .emacs.d ํ˜ธ์ถœ (์š”๊ตฌ์˜ ํ•ต์‹ฌ (CONCAT ์‚ฌ์šฉ์ž - ์ด๋งฅ์Šค ๋””๋ ‰ํ† ๋ฆฌ "์ฝ”์–ด / ์ฝ”์–ด")) ์›์ธ @liuxuzzz ๋ฌธ์ œ์— init.el์žˆ๋‹ค. ๋‚ด ์†”๋ฃจ์…˜์€ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

mkdir ~ / .doom.d, cp init.example.el ~ / .doom.d / init.el

๊ทธ๋•Œ

git checkout ๊ฐœ๋ฐœ

์ง€์  ๊ฐœ๋ฐœ๋กœ ์ „ํ™˜

mv ~ / .doom.d / init.el ~ / .emacs.d / init.el

ํ•œ ์ค„๋งŒ ํฌํ•จํ•˜๋Š” ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์˜ ๊ธฐ๋ณธ init.el ๋ฎ์–ด ์“ฐ๊ธฐ

( 'core (์‚ฌ์šฉ์ž -emacs-directory "core / core"์—ฐ๊ฒฐ) ํ•„์š”)

๊ทธ๋Ÿฌ๋ฉด "์„ค์น˜"๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@ SeAL80s ์ฃผ๋ฌธ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. develop ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ init.example.el ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒํ–ˆ์„ ๋•Œ์˜ ์˜ํ–ฅ์„ ์ดํ•ดํ•˜์ง€ ์•Š๋Š” ํ•œ ~/.emacs.d/init.el ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•˜์ง€ _ ๋งˆ์„ธ์š” _.

  • ~ / .emacs.d / init.el์€ _only_ (require 'core (concat user-emacs-directory "core/core")) ํฌํ•จํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ~ / .doom.d / init.el์€ (require 'core (concat user-emacs-directory "core/core")) ํฌํ•จ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Doom์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

master

git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
cp init.example.el init.el
make install

develop (๊ถŒ์žฅ)

git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
mkdir ~/.doom.d
cp init.example.el ~/.doom.d/init.el
make install

@hlissner ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์‹ ์˜ ์ฃผ๋ฌธ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์•„๋‹™๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์—๋Š”์ด ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์น˜๋ช…์  ์˜ค๋ฅ˜ : (์˜ค๋ฅ˜) 'org-20150330'ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ 9.1.9 ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

cp init.example.el init.el ๊ฐœ๋ฐœ์‹œ 'make install'์— ": doom is invalid"๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
์ œ๊ฐ€ ์–ธ๊ธ‰ ํ•œ ์ฃผ๋ฌธ์ด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ 'make install'์€ ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๊ฐœ๋ฐœ์‹œ ์ด๋ฏธ init.el์ด ์žˆ์Šต๋‹ˆ๋‹ค .cp init.example.el ~ / .doom.d / init.el์ด ํ‘œ์‹œ๋˜๋ฉด

๊ฒฝ๊ณ  : ๋‹ค์Œ ์ฃผ๊ธฐ๋กœ ์ธํ•ด Eager ๋งคํฌ๋กœ ํ™•์žฅ์„ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
โ€ฆ => (load "core.el") => (macroexpand-allโ€ฆ) => (macroexpand (eval-and-compileโ€ฆ)) => (load "init.el") => (load "core.el ")
์—ด๋งํ•˜๋Š” ๋งคํฌ๋กœ ํ™•์žฅ ์‹คํŒจ : ( "๊ธฐ๋Šฅ '์ฝ”์–ด'์— ๋Œ€ํ•œ ์ˆœํ™˜ ์  'ํ•„์š”'"์˜ค๋ฅ˜)

๋งˆ์Šคํ„ฐ์—์ด ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ...

๊ทธ๋ž˜ ์ •ํ™• ํ•ด. ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. master ์€ ํ˜„์žฌ ๊ณ ์žฅ๋‚ฌ์Šต๋‹ˆ๋‹ค.

cp init.example.el init.el์„ ๊ฐœ๋ฐœํ•˜๋ฉด ...

cp init.example.el init.el ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

cp ~/.emacs.d/init.example.el ~/.doom.d/init.el ์ด ๋งž์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์ค‘์—๋Š” ์ด๋ฏธ init.el์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋งž์Šต๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ~/.emacs.d/init.el ์—๋Š” ๋‹ค์Œ ํ•ญ๋ชฉ ๋งŒ ํฌํ•จ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

(require 'core (concat user-emacs-directory "core/core"))

์œ„ ์ค„ ์€ ~/.doom.d/init.el ์•ˆ์— ์žˆ์œผ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค ! ๋˜๋Š” ๊ทธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ „์— ๋งํ–ˆ๋“ฏ์ด cp ~/.emacs.d/init.example.el ~/.doom.d/init.el ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @hlissner
๋ฐฉ๊ธˆ Emacs 26.1์„ ์ƒˆ๋กœ ์„ค์น˜ํ–ˆ์ง€๋งŒ Doom์„ ์„ค์น˜ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค.

git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
git checkout develop
mkdir ~/.doom.d
cp init.example.el ~/.doom.d/init.el
make install

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์—ฌ์ „ํžˆ ์–ป๋Š”๋‹ค.

.emacs.d ) make install

Symbol's function definition is void: advice-add
make: *** [.local/autoloads.el] Error 255

์–ด๋–ค ์ถฉ๊ณ ?
๊ฐ์‚ฌ.

@jameskolce PATH ์žˆ๋Š” emacs๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. advice-add ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์ด์ „ ๋ฒ„์ „์˜ Emacs (24 ์ดํ•˜)๊ฐ€ ์‹คํ–‰ ์ค‘์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์…ธ์—์„œ emacs --version ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

@hlissner ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค : emacs --version ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „ (26.1)์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชฐ๋ž์ง€๋งŒ ๊ฒฐ๊ตญ์—๋Š” ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด Emacs 22๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ ๋Œ€์‹  ๋ช…๋ น ๋ณ„์นญ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ emacs-snippets ๋ฐ php-extras๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

N82106:.emacs.d bward$ make install
Looking for packages to install...
2 packages will be installed:

+ emacs-snippets (QUELPA)
+ php-extras (QUELPA)

Proceed? (y or n) y
Installing php-extras
โœ• ERROR ((wrong-type-argument arrayp nil))
Installing emacs-snippets
โœ• ERROR ((wrong-type-argument arrayp nil))
Finished!

๋‚˜๋Š” ๊ณผ์ •์„ ์‚ฌ์šฉํ–ˆ๋‹ค

git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
cd ~/.emacs.d
git checkout develop
mkdir ~/.doom.d
cp init.example.el ~/.doom.d/init.el
make install

@BenJWard ๋‚˜๋Š” ์ž ์‹œ ๋™์•ˆ์ด ๋ฒ„๊ทธ๋ฅผ ์‚ฌ๋ƒฅํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋‹จ์„œ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. DEBUG=1 make install ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑ ํ•œ ๋‹ค์Œ ๊ฒฐ๊ณผ ์—ญ ์ถ”์  (๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์ด)์„ pastebin์— ๋ณต์‚ฌํ•˜์—ฌ ์ €์—๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@hlissner ๋ฐฉ๊ธˆ ์‹œ๋„ํ–ˆ๋Š”๋ฐ "๋””๋ฒ„๊ฑฐ ์ž…๋ ฅ ์ค‘ ..."

Extracting expand-region-20171217.2125/ruby-mode-expansions.el
Extracting expand-region-20171217.2125/expand-region-custom.el
Extracting expand-region-20171217.2125/latex-mode-expansions.el
Extracting expand-region-20171217.2125/jsp-expansions.el
Extracting expand-region-20171217.2125/js-mode-expansions.el
Extracting expand-region-20171217.2125/expand-region-core.el
Extracting expand-region-20171217.2125/text-mode-expansions.el
Extracting expand-region-20171217.2125/python-el-expansions.el
Extracting expand-region-20171217.2125/the-org-mode-expansions.el
Entering debugger...

์˜ค๋Š˜ ๊ฐœ๋ฐœ์—์„œ ์ƒˆ๋กœ ์„ค์น˜ ํ•œ ๊ฒฝ์šฐ์—๋„ ๋˜‘๊ฐ™์€ ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@tidux @BenJWard ์ค‘๋‹จ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? M-x doom/info ํฌํ•จํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰