E D R , A S I H C RSS

Emacs

TextEditor ž…๋‹ˆ๋‹ค. vim๊ณผ CrimsonEditor ™€ ๊ฐ™€ ๋ชฉ œผ๋กœ “ฐž…๋‹ˆ๋‹ค.

vim—„œ๋Š” ๊ธฐ๋ณธ ๋ชจ๋“œ๊ฐ€ •ญƒ Žธง‘ ๋ชจ๋“œด๊ณ  “ธˆ˜žˆ๋Š” mode๊ฐ€ ๊ณ  •๋˜–ด žˆ๋Š” ๋ฐ˜๋ฉด—, emacs—„œ๋Š” ฃผ ๋ชจ๋“œ™€ ๋ถ€ ๋ชจ๋“œ๋ฅผ ž…๋ง›— ๋งž๊ฒŒ ๋ฐ”๊พธ–ด “ธˆ˜ žˆŠต๋‹ˆ๋‹ค. ˜ˆ๋ฅผ ๋“ค–ด ‚ฌšฉž๋Š” text-mode๋ผ๋Š” …ŠคŠธ ๋ฌธ„œ๋ฅผ Žธง‘•˜๊ณ  ž‘„•˜๋Š” ๊ธฐ๋Šฅ„ ๊ฐ€„ ฃผ ๋ชจ๋“œ๋ฅผ “ฐ๋ฉด„œ, ๊ธ€ž˜ ƒ‰„ ๋ฐ”๊ฟ”ฃผ๊ฐ๋‚˜ ๋“ค—ฌ“ฐ๊ธฐ ๋‚ด–ด“ฐ๊ธฐ๋“„ ‚ฌšฉž  •˜๋Œ€๋กœ ๊ธฐ๋Šฅ„ ˆ˜–‰•˜๋Š” ๋ถ€ ๋ชจ๋“œ๋ฅผ “ธ ˆ˜ žˆŠต๋‹ˆ๋‹ค.


  • ‰†Œ— ๋„ˆ๋ฌด IDE— ˜กด•œ๋‹ค๋Š” ƒ๊ฐด ๋“ค–ด„œ ๋ฒ”šฉ ธ TextEditor๋ฅผ ‚ฌšฉ•ด๋ณดž๋Š” ๊ฒฐ‹ฌ„ •˜๊ณ  “ฐ๋Š”๋ฐ –ด๋ ค› ๋˜ ‚ฌ•ญ„ ๊ธฐ๋ก•˜๋ ค๊ณ  •ฉ๋‹ˆ๋‹ค.
    • emacs ๋ฅผ ˜ค๋žซ๋™•ˆ จ˜จ ž…žฅ—„œ IDE  •๋„๋Š” ˜กด•ด๋„ ๋ฉ๋‹ˆ๋‹ค. OS ˜กด„ ๋ฒ—–ด๋‚˜๋Š”๊ฒŒ ๋” ค‘š”•œ๊ฒƒ ๊ฐ™Šต๋‹ˆ๋‹ค.
  • Download๋Š” —ฌ๊ธฐ„œ •˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. œˆ๋„šฐˆ šฉด๋ผ ๋ฒ„ „ด •ฝ๊ฐ„ ๋‚ฎ๋„š”.
๋ฐ›•„„œ ••ถ•„ ’€๊ณ  ๋ฐ”๋กœ ‚ฌšฉ•  ˆ˜ žˆŠต๋‹ˆ๋‹ค. •˜œ„ ด๋”ค‘— bin ด๋”๊ฐ€ žˆ๋Š”๋ฐ ๊ทธ •ˆ— žˆ๋Š” ‹ค–‰ŒŒผด žˆŠต๋‹ˆ๋‹ค.
  • ตœ†Œ mac ๊ฐ€๋Šฅ•œ ubuntu —„œ ‚ฌšฉ•˜๋Š”๊ฒŒ  •‹ ๊ด๊ฐ•— ข‹Šต๋‹ˆ๋‹ค. ecb, cedet ๋“„ ปค๋งจ๋“œ •œ๋ฒˆ— „น˜ •˜๋А๋ƒ, —ฌ๋Ÿฌ๋ฒˆณ„œ „น˜•˜๋А๋ƒ๋Š” •˜๋Š˜๊ณผ ๋•… ฐจดž…๋‹ˆ๋‹ค. œˆ๋„šฐ๋Š” ๊ฐœ๋ฐœž˜ OS ๊ฐ€ •„๋‹™๋‹ˆ๋‹ค

Emacs Mode

Major Mode

Minor Mode

Tramp

  • emacs ™˜๊ฒฝ ๊ทธ๋Œ€๋กœ remote/ssh/docker/sudo ๋“„ ๋ฐ”๋กœ ‚ฌšฉ•  ˆ˜ žˆ๊ฒŒ •ดค๋‹ˆ๋‹ค.
    • emacs ๋Š” dired mode ๋Š” ŒŒผ„ ๊ด€๋ฆฌ•˜๊ณ  browse •  ˆ˜ žˆ๋Š”๋ฐ, tramp ๋ฅผ ™œšฉ•˜—ฌ remote ๋ฅผ local ฒ˜๋Ÿผ ‚ฌšฉ•  ˆ˜ žˆŠต๋‹ˆ๋‹ค.
    • shell-mode ™€๋„ ž˜ ๊ฒฐ•ฉ•˜—ฌ remote — ‰˜๋กœ ๋ฐ”๋กœ ๋–จ–ดˆ ˆ˜๋„ žˆŠต๋‹ˆ๋‹ค.
    • ˜›๋‚ ๋ถ€„ฐ multi-hop  ‘†๋„ ฒ˜๋ฆฌ•  ˆ˜ žˆ—ˆŠต๋‹ˆ๋‹ค. ssh „ •ด ๋” ‰ฝŠต๋‹ˆ๋‹ค
  • tramp ๋กœ sudo ‚ฌšฉ•˜๊ธฐ : M-x-f /sudo::/etc/
  • tramp ๋กœ ssh ‚ฌšฉ•˜๊ธฐ : M-x-f /ssh:you@remotehost|sudo:remotehost:/path/to/file


Python ‚ฌšฉ•˜๊ธฐ

ด๋ฅผ œ„•ด ๋จผ € PythonMode๋ฅผ Download•ฉ๋‹ˆ๋‹ค.
๋ฌผ๋ก  Pythonด ด๋ฏธ „น˜๋˜–ดžˆ–ด•ผ •ฉ๋‹ˆ๋‹ค.

Python„ Emacs—„œ “ฐ๋ ค๋‹ˆ๊นŒ ™˜๊ฒฝ๋ณ€ˆ˜ „ ••˜๋Š”๋ฐ •œ ๋ฒˆ ‚ฝˆ•˜๊ณ  ๊ฒฝ๋กœ žก•„ฃผ๋Š”๋ฐ ๋˜ ‚ฝˆ –ˆŠต๋‹ˆ๋‹ค.

Emacs๋Š” HOME ด๋ผ๋Š” ™˜๊ฒฝ๋ณ€ˆ˜๋ฅผ ดšฉ•ด„œ ‚ฌšฉž „ • ŒŒผธ .emacs(ด๋ฆ„ •ž—   •˜๋‚˜ žˆŠต๋‹ˆ๋‹ค.)ŒŒผ„ ฝ–ด๋“คž…๋‹ˆ๋‹ค. ด ™˜๊ฒฝ๋ณ€ˆ˜—๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋“ค–ด๊ฐ€๋Š”๋ฐ ๊ทธ ๊ฒฝ๋กœ— ‚ฌšฉž „ • ŒŒผด žˆ–ด•ผ •ฉ๋‹ˆ๋‹ค.  œ–ดŒ->‹œŠค…œ->๊ณ ๊ธ‰->™˜๊ฒฝ๋ณ€ˆ˜ •ˆ— HOMEด๋ผ๋Š” ™˜๊ฒฝ๋ณ€ˆ˜๋ฅผ ถ”๊ฐ€•˜๊ณ , ๊ทธ ๊ฒฝ๋กœ ๋ฐ‘— .emacs๋ฅผ „น˜•ด•ผ •ฉ๋‹ˆ๋‹ค. .emacs ŒŒผ ๋‚ดšฉ€ ๋‹คŒ๊ณผ ๊ฐ™ด ๋งŒ๋“ญ๋‹ˆ๋‹ค.
 (autoload 'python-mode "python-mode" "Python Mode." t)
 (add-to-list 'auto-mode-alist '("\.py\'" . python-mode))
 (add-to-list 'interpreter-mode-alist '("python" . python-mode))

๊ฒฝ๋กœ žก•„ฃผ๊ธฐ๋Š” ˆœ „žˆ ฃผ๋ณ€ง€‹ด ๋ถ€•œ ƒ“ด—ˆŠต๋‹ˆ๋‹ค. ŒŒด„  ด๋”๊ฐ€ œˆ๋„šฐ ™˜๊ฒฝ๋ณ€ˆ˜ธ PATH— ๋“๋ก๋˜ง€ •Š•„„œ ๊ทธ๋žฌŠต๋‹ˆ๋‹ค. ด —ญ‹œ  œ–ดŒ->‹œŠค…œ->๊ณ ๊ธ‰->™˜๊ฒฝ๋ณ€ˆ˜ •ˆ—„œ ˆ˜ ••  ˆ˜ žˆŠต๋‹ˆ๋‹ค.

.emacs

  • ด๋งฅŠค „ • ŒŒผž…๋‹ˆ๋‹ค.
  • ผ๋ฐ˜ œผ๋กœ ‚ฌšฉž˜ HOME ๋””๋ ‰† ๋ฆฌ ๋ฐ‘—  €žฅ๋ฉ๋‹ˆ๋‹ค.
  • Emacs ฒ˜Œ „น˜ ‹œ—๋Š” •ด๋‹น ŒŒผด กดžฌ•˜ง€ •Š๋Š” ๊ฒฝšฐ๋„ žˆŠต๋‹ˆ๋‹ค. ด๋Ÿด ๋•Œ๋Š” ๋‹น™ฉ•˜ง€ ๋งˆ‹œ๊ณ  HOME ๋””๋ ‰† ๋ฆฌ ๋ฐ‘— .emacs๋ผ๋Š” ด๋ฆ„œผ๋กœ ŒŒผ„ ๋งŒ๋“ค–ด ฃผ‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • GNU Emacs ‚ฌšฉ‹œ Windows 7 ™˜๊ฒฝ—„œ c:\Users\UserName\AppData\Roaming ๋””๋ ‰† ๋ฆฌ—  €žฅ๋ฉ๋‹ˆ๋‹ค.
    • .emacs ŒŒผ„ ž‘„•˜๊ฐ๋‚˜ Žธง‘•  •„š”๊ฐ€ žˆ„ ๊ฒฝšฐ—๋Š” C-x-f ~/.emacs๋กœ •ด ฃผ๋ฉด Windows ™˜๊ฒฝ—„œ๋„ •Œ•„„œ HOME ๋””๋ ‰† ๋ฆฌ ๋ฐ‘— ๋งŒ๋“ค–ด ค๋‹ˆ๋‹ค.
  • ntemacs —„œ๋Š” C:\Documents and Settings\UserName\Application Data —  €žฅ๋ฉ๋‹ˆ๋‹ค.

.emacs.d

  • Emacs—„œ ๋ฐ›๋Š” ๋ช‡๋ช‡ ŒŒผ๋“คด ๋‹คšด๋˜๋„๋ก ง€ •๋œ ๋””๋ ‰† ๋ฆฌž…๋‹ˆ๋‹ค.
  • ฃผ๋กœ Emacs Wiki—„œ ๋ฐ›€ ŒŒผ๋“คด๋‚˜ ๋‹ค–‘•œ .el ŒŒผ๋“ค„„ฃ๋Š” ๋ฐ ‚ฌšฉ•ฉ๋‹ˆ๋‹ค.
  • ELPA—„œ ๋ฐ›€ ŒŒผ๋“ค๋„ ๊ธฐ๋ณธ œผ๋กœ ดชฝœผ๋กœ ๋“ค–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

emacs˜ œ šฉ•œ ™•žฅ ๊ธฐ๋Šฅ

ELPA

  • Emacs Package Manager
  • Emacs˜ ™•žฅ ๊ธฐ๋Šฅ€ .el(Emacs Lisp ™•žฅž) ŒŒผ„ ฝ–ด˜ค๋Š” ๋ฐฉ๋ฒ•œผ๋กœ ด๋ฃจ–ด„๋‹ค. ๋”ฐ๋ผ„œ .el ŒŒผ๋งŒ žˆœผ๋ฉด ™•žฅ ๊ธฐ๋Šฅ„ ‚ฌšฉ•  ˆ˜ žˆ๋Š”๋ฐ, ELPA ด „๊นŒง€๋Š” †ตผ๋œ .el ŒŒผ˜ ๋ฐฐฌ ๋ฐฉ๋ฒ•ด —†—ˆ๊ธฐ ๋•Œ๋ฌธ— ๊ธฐ๋Šฅ„ ถ”๊ฐ€•˜๋ ค๋ฉด ง ‘ ŒŒผ„ (EmacsWiki๋‚˜ githubด๋‚˜ ๋‹ค–‘•œ ๋ฐฉ‹œผ๋กœ) ๋‹คšด๋ฐ›•„•ผ •˜๋Š” ๋ถˆŽธ•จ„ ๊ฐˆ˜•ด•ผ –ˆ๋‹ค. ELPA๋Š” ด๋Ÿฌ•œ ฉ–ด„ ŒŒผ(= ™•žฅ ๊ธฐ๋Šฅ)๋“ค„ †ต•ฉ•ด„œ ๋ฐ›„ ˆ˜ žˆ๋Š” ๊ธฐ๋Šฅ„  œ๊ณต•˜๊ณ  žˆ๋‹ค.
  • „น˜
    • Emacs ๋ฒ„ „ 24 ด›„๋ถ€„ฐ๋Š” ๊ธฐ๋ณธ œผ๋กœ ฌ•จ๋˜–ด žˆŒ.
    • Emacs 23๊นŒง€
      • package.el„ ปด“จ„—  €žฅ•œ๋‹ค.  €žฅ œ„น˜๋Š” •„๋ฌด ๊ณณด๋‚˜ ƒ๊ด€ —†ง€๋งŒ ๋˜๋„๋กด๋ฉด HOME ๋””๋ ‰† ๋ฆฌ— .emacs.d ๋””๋ ‰† ๋ฆฌ๋ฅผ ๋งŒ๋“ค–ด„œ ๊ทธ •ˆ— ๋„–ด ฃผ๋„๋ก •˜ž.
      • .emacs ŒŒผ— ๋‹คŒ๊ณผ ๊ฐ™ด  ๋Š”๋‹ค.

(load-file "~/.emacs.d/package.el")

(require 'package)

; Add package-archives
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))

; Initialize
(package-initialize)
  • ‚ฌšฉ๋ฒ•
    • M-x package-list-packages๋กœ ๋‹คšด ๋ฐ›„ ˆ˜ žˆ๋Š” Package list๋ฅผ ๋ณผ ˆ˜ žˆŒ.
    • •ด๋‹น Œจ‚คง€ „—„œ i(install)๋กœ „น˜•  Œจ‚คง€˜ „ ƒ, d(delete)๋กœ ง€šธ Œจ‚คง€ „ ƒ, x(execute)๋กœ „ ƒ๋œ ž‘—…๋“ค ‹ค–‰.
    • ๊ฐ• œ ‚ญ œ : d -> e(˜น€ x)๋กœ •ด๋‹น Œจ‚คง€๋ฅผ ง€šธ ˆ˜ žˆ๊ธด •œ๋ฐ  œ๋Œ€๋กœ ง€›Œง€ง€ •Š๋Š” ๊ฒฝšฐ๊ฐ€ ข€ žˆ๋‹ค(...). ๊ทธ๋Ÿด ๊ฒฝšฐ๋Š” •ด๋‹น ŒŒผด ELPA˜ ด๋” •ˆ— ๋“ค–ด๊ฐ€ žˆ๊ธฐ ๋•Œ๋ฌธ— ~/.emacs.d/elpa— ๋“ค–ด๊ฐ€„œ •ด๋‹น Œจ‚คง€˜ ด๋”๋ฅผ ง€›Œ๋ฒ„๋ฆฌ๋ฉด ๋œ๋‹ค. ๊ทธ ›„ Emacs๋ฅผ ๋‹ค‹œ ๊ธฐ๋™•ด„œ M-x package-list-packages๋ฅผ ๋ณด๋ฉด •ด๋‹น Œจ‚คง€๊ฐ€ „น˜ •ญ๋ชฉ—„œ ง€›Œ„ ๊ฒƒ„ ๋ณผ ˆ˜ žˆ„ ๊ฒƒด๋‹ค.
  • ถ”ฒœ Œจ‚คง€ : Anything or helm, auto-complete, tabbar, ecb, yasnippet

CEDET

CEDETด๋ž€?
collection of emacs development tool˜ •ฝž๋กœ„œ, makeŒŒผ„ ๋งŒ๋“ค๊ฐ๋‚˜ automakeŒŒผ ๊ตฌ„— ๋„›€„ ฃผ๊ณ , compile•˜๊ธฐ ‰ฝ๋„๋ก ๋„™€ฃผ๋Š” ๋“, emacs™˜๊ฒฝ„ ๋”š ’„•˜๊ฒŒ•˜๋Š”๋ฐ ๋„›€„ ฃผ๋Š” ™•žฅ ๊ธฐ๋Šฅด๋‹ค.

„ •(„น˜)๋ฐฉ๋ฒ•
  1. cedet github— ๋“ค–ด๊ฐ€„œ ••ถ•ŒŒผ„ ๋ฐ›๋Š”๋‹ค.(http://sourceforge.net/projects/cedet/)
  2. cedet••ถ•„ .emacs.dด๋” ˜น€ ›•˜๋Š” ๊ณณ— ‘ผ๋‹ค.
  3. cedet••ถ•„ ‘ผ๊ณณ—  ‘๊ทผ•˜—ฌ $make ๋ช…๋ น–ด๋ฅผ †ต•ด ๋นŒ๋“œ ‹œผœค€๋‹ค.
  4. emacs „ • ŒŒผธ .emacs ˜น€ init.el ŒŒผ— „น˜•œ cedet„ ๋กœ๋“œ•˜๊ธฐœ„•œ elispฝ”๋“œ๋ฅผ ๋‹คŒ๊ณผ ๊ฐ™ด จค€๋‹ค.

;; Load CEDET
;; 'warning: cedet-called-interactively-p called with 0 arguments, but requires 1' error repairing
(setq byte-compile-warnings nil)
;; See cedet/common/cedet.info for configuration
(load-file "~/cedet.elŒŒผ˜ ๊ฒฝ๋กœ๋ฅผ จ๋„ฃ๋Š”๋‹ค. cedet••ถ•„ ‘ผ ด๋”•ˆ˜ common— cedet.elด žˆ๋‹ค.")

;; Enable EDE (Project Management) features
(global-ede-mode 1)

;; *This enalbes the database and idle repasitiory
(semantic-load-enable-minimum-features)
ฐธ๊ณ #1. lispฝ”๋“œ—„œ ;;๋Š” ฃผ„ด๋‹ค.
ฐธ๊ณ #2. lispฝ”๋“œค‘—„œ load file •˜๋Š” ๋ถ€๋ถ„„ ๋‚˜๊ฐ™€ ๊ฒฝšฐ๋Š”(load-file "~/.emacs.d/cedet/common/cedet.el")๊ณผ ๊ฐ™ด  —ˆ๋‹ค. ๊ฒฝ๋กœ˜ ~/๋Š” ๋‚˜๋Š” œˆ๋„šฐ—„œ cygwin„ †ต•ด„œ emacs๋ฅผ “ฐ๊ณ  žˆ–ด„œ ™˜๊ฒฝ๋ณ€ˆ˜ HOME˜ ๊ฒฝ๋กœ๋ฅผ  €๋ ‡๊ฒŒ ‘œ˜„•  ˆ˜ žˆ๋‹ค.
ฐธ๊ณ #3. lisp ฝ”๋“œ˜ (setq byte-compile-warning nil)€ ด ฝ”๋“œ ๋ฐ”๋กœ œ„˜ ฃผ„— •ด๋‹น•˜๋Š” ˜ค๋ฅ˜๊ฐ€ ๋ฐœƒ•˜—ฌ„œ •ด๊ฒฐ…œผ๋กœ ž‘„•œ ฝ”๋“œด๋‹ค. ˜น‹œ ด ฝ”๋“œ๋กœ ธ•ด ๋‹ค๋ฅธ ˜ค๋ฅ˜๊ฐ€ ๋ฐœƒ•˜๊ฐ๋‚˜ •œ๋‹ค๋ฉด, ด๋ฅผ ง€šฐ๊ฐ๋‚˜ ๊ตฌ๊ธ€๋ง„ †ต•ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•„ ฐฟ๊ธธ ๋ฐ”๋ž€๋‹ค.ใ… ใ…œ


ECB

ECB๋ž€?
emacs code browser˜ •ฝž๋กœ„œ, ”„๋กœ Šธ ŒŒผ management๋‚˜, ๋””๋ ‰† ๋ฆฌ management๋“„ ๋„™€ฃผ๋Š” ™•žฅ ๊ธฐ๋Šฅด๋‹ค.

„ •(„น˜)๋ฐฉ๋ฒ•
  1. ecb „น˜ „— šฐ„  cedet„น˜๊ฐ€ šฐ„ ๋˜–ด•ผ•œ๋‹ค. cedet€ ด ๊ธ€„ “ด ‹œ — 1.1 ๋Œ€˜ ๋ฒ„ ผด ตœ‹  ๋ฒ„ ผด๋‹ค. cedet„น˜๋Š” cedet„ „ค๋ช…•ด๋‘” ๋ถ€๋ถ„—„œ ฐธกฐ•˜๊ธธ ๋ฐ”๋ž€๋‹ค. (ฐธ๊ณ ๋กœ emacs 23๋ถ€„ฐ๋Š” ๋‚ด๋ถ€ œผ๋กœ CEDETด „น˜๋˜–ดžˆ๋‹ค.)
  2. ˜„ œ emacs˜ ตœ‹ ๋ฒ„ ผ€ 24.*๋Œ€ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ด ๋ฒ„ ผ๋Œ€˜ emacs๋Š” ๋‚ด๋ถ€ œผ๋กœ cedetด „น˜๋˜–ดžˆ๋‹ค๊ณ  •œ๋‹ค. ด cedet˜ ๋ฒ„ ผ๊ณผ ecb˜ ๋ฒ„ ผ ‚ฌด— ๋ฒ„๊ทธ๋•Œ๋ฌธ— ecb ™˜๊ฒฝ„ •„ •˜๋ ค•˜๋ฉด –ด๋ ค›€ด ๋งŽ๋‹ค. —ด‹ฌžˆ ‚ฝˆ•ด„œ •Œ•„๋ณธ ๊ฒฐ๊ณผ –ด๋–ค ™ธ๊ตญ ‹ ‚ฌ๋ถ„ด ๋ฒ„๊ทธ fix›„ report•˜๊ธฐ „— ๋ฐ˜˜ด ๋Šฆ„๊ฒƒ๊ฐ™๊ธฐ— ๋ฏธ๋ฆฌ github— ˜ฌ๋ ค๋‘‹  ˆ˜ • ๋ฒ„ „ด žˆ๋‹ค.(https://github.com/alexott/ecb/) —ฌ๊ธฐ—„œ ecb˜ ••ถ•ŒŒผ„ ๋ฐ›๋Š” ๊ฒƒ๋ถ€„‹œž‘„ •œ๋‹ค.
  3. ๋ฐ›€ ••ถ•ŒŒผ„ .emacs.d ด๋” ˜น€ ›•˜๋Š” ๊ณณ— ••ถ•„ ‘ผ๋‹ค.
  4. emacs „ •ŒŒผธ .emacs ˜น€ init.el— ๋‹คŒ๊ณผ๊ฐ™€ elisp ฝ”๋“œ๋ฅผ  ๋Š”๋‹ค.

;;ECB Load
(add-to-list 'load-path "ecb••ถ•„ ‘ผ ด๋” ๊ฒฝ๋กœ๋ฅผ  Šต๋‹ˆ๋‹ค.")
(load-file "ecb.el˜ ŒŒผ๊ฒฝ๋กœ๋ฅผ  Šต๋‹ˆ๋‹ค. ด ŒŒผ€ ecb ••ถ•„ ‘ผ ด๋” •ˆ— ž‡Šต๋‹ˆ๋‹ค.")
(require 'ecb)

ฐธ๊ณ #1. ๋‚˜๊ฐ™€ ๊ฒฝšฐ, ๊ฒฝ๋กœ๋ฅผ จ๋„ฃ๋Š” ๋ถ€๋ถ„„ •„๋ž˜™€ ๊ฐ™ด ž‘„•˜—ฟ๋‹ค.
(add-to-list 'load-path "~/.emacs.d/ecb-master")
(load-file "~/.emacs.d/ecb-master/ecb.el")

ELPA „น˜‹œ „น˜ ๋ฐฉ๋ฒ•
  • „น˜
    • M-x package-list-packages
    • C-s ecb
      • •ด๋‹น ๋ผธ—„œ i ๋ˆ„๋ฅธ ›„ x
  • .emacs „ •

(require 'cl)
(require 'ecb)

tabbar plugin

†ŒŠคŒŒผ˜ tabbar๋ฅผ “ฐ๊ธฐœ„•œ ”Œ๋Ÿฌ๊ทธธด๋‹ค.

emacs wiki— tabbar ๋ผ๊ณ  ๊ฒ€ƒ‰•˜๋ฉด †ŒŠค๊ฐ€  œ๊ณต๋œ๋‹ค.

emacs „ •ŒŒผด žˆ๋Š” ๋””๋ ‰† ๋ฆฌ— †ŒŠค๋ฅผ ๋ณต‚ฌ•ด„œ tabbar.elด๋ผ๊ณ  †ŒŠคŒŒผ„ ๋งŒ๋“ค–ด  €žฅ•œ๋‹ค.

emacs „ •ŒŒผธ .emacs ˜น€ init.el— ๋‹คŒ๊ณผ๊ฐ™ด ด–ด๋ถ™ด๋ฉด ‚ฌšฉ•  ˆ˜ žˆ๋‹ค.
;;Tabbar plugin load
(require 'tabbar)
(tabbar-mode t)
(global-set-key [(control shift tab)]'tabbar-backward)
(global-set-key [(control tab)]'tabbar-forward)

highline plugin

ปค„œ๊ฐ€ œ„น˜•œ „˜ ƒ‰„ ๋‹ฌ๋ฆฌ•˜—ฌ ง€๊ธˆ ž‘—…•˜๋Š” ๋ถ€๋ถ„„ ๋šœ๋ ทžˆ ๋ณด—ฌฃผ๋Š” ”Œ๋Ÿฌ๊ทธธด๋‹ค.

emacs wiki— highline ด๋ผ๊ณ  ๊ฒ€ƒ‰•˜๋ฉด †ŒŠค๊ฐ€  œ๊ณต๋œ๋‹ค.

emacs „ •ŒŒผด žˆ๋Š” ๋””๋ ‰† ๋ฆฌ— †ŒŠค๋ฅผ ๋ณต‚ฌ•ด„œ highline.elด๋ผ๊ณ  †ŒŠคŒŒผ„ ๋งŒ๋“ค–ด  €žฅ•œ๋‹ค.

emacs „ •ŒŒผธ .emacs ˜น€ init.el— ๋‹คŒ๊ณผ๊ฐ™ด ด–ด๋ถ™ด๋ฉด ‚ฌšฉ•  ˆ˜ žˆ๋‹ค.
;;Highline plugin load
(require 'highline)
(global-highline-mode t)

color-theme plugin

emacs ๋ฐฐ๊ฒฝƒ‰, ๊ธ€žƒ‰ theme๋ฅผ  œ๊ณต•˜๋Š” ”Œ๋Ÿฌ๊ทธธด๋‹ค.

emacs wiki— color-theme ๋ผ๊ณ  ๊ฒ€ƒ‰•˜๋ฉด ••ถ•ŒŒผด  œ๊ณต๋œ๋‹ค.

emacs „ •ŒŒผด žˆ๋Š” ๋””๋ ‰† ๋ฆฌ— color-theme••ถ•ŒŒผ˜ ••ถ•„ ‘ผ๋‹ค.

emacs „ •ŒŒผธ .emacs ˜น€ init.el— ๋‹คŒ๊ณผ๊ฐ™ด ด–ด๋ถ™ด๋ฉด ‚ฌšฉ•  ˆ˜ žˆ๋‹ค.
;;Color Theme plugin load
(add-to-list 'load-path "color theme ด๋” ๊ฒฝ๋กœ๋ฅผ  –ดค€๋‹ค.")
(require 'color-theme)
(eval-after-load "color-theme"
  '(progn
     (color-theme-initialize)
     (color-theme-hober)))


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:12
Processing time 0.0304 sec