본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

Emacs 사용

by 3604 2023. 12. 6.
728x90

출처: https://tjemacs.blogspot.com/

Emacs 사용

Emacs 사용법 및 팁 공유

2023 10 29 일요일

Emacs + slime + SBCL + Windows

 

SBCL

https://www.sbcl.org/

 

Download

·           https://www.sbcl.org/platform-table.html

·          

  •  

 

설치 위치 예시

 

Slime

https://github.com/slime/slime

MELPA

https://melpa.org/#/getting-started

 

.emacs 추가

(require 'package)

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

;; Comment/uncomment this line to enable MELPA Stable if desired.  See `package-archive-priorities`

;; and `package-pinned-packages`. Most users will not need or want to do this.

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

(package-initialize)

 

Slime 설치

M-x package-install RET slime RET

 

.emacs 추가

https://stackoverflow.com/a/29929015/5676460

;; slime + sbcl
(require 'slime)
(setq slime-lisp-implementations '((sbcl ("C:/Program Files/Steel Bank Common Lisp/sbcl.exe" "--core" "C:/Program Files/Steel Bank Common Lisp/sbcl.core"))))

 

SBCL 설치 위치 확인하여 수정

 

Slime 실행

M-x slime RET

 

 

작성자: Tj 시간오후 5:28 댓글 없음: 

이메일로 전송BlogThis!Twitter에서 공유Facebook에서 공유Pinterest 공유

라벨sbclslimewindows

2023 10 26 목요일

Emacs Daemon

 Windows

"C:\Program Files\Emacs\emacs-28.2\bin\runemacs.exe" --daemon 

 

runemacs.exe 바로가기 만들기

·           바로가기 속성 -> 대상에 파라메터 추가 (--daemon)

·          

  •  

 

시작 프로그램에 추가

·           바로가기 복사

·           바로가기 실행 또는 시스템 재시작

 

emacsclientw.exe 실행

 

systemd

 

~/.config/systemd/user/emacs.service 파일 작성

 

[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure

[Install]
WantedBy=default.target

 

서비스 등록 및 시작

systemctl enable --user emacs
systemctl start --user emacs

 

서비스 상태

systemctl staus emacs --user

 

Macosx

https://briansunter.com/blog/emacs-daemon-macos

 

~/Library/LaunchAgents/gnu.emacs.daemon.plist 에 파일 작성

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
<dict>
  <key>Label</key>
  <string>gnu.emacs.daemon</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/emacs</string>
    <string>--daemon</string>
  </array>
 <key>RunAtLoad</key>
 <true/>
 <key>ServiceDescription</key>
 <string>Gnu Emacs Daemon</string>
</dict>
</plist>

·           /usr/local/bin/emacs 대신 실제 emacs 설치 위치 (/opt/homebrew/bin/emacs, brew 로 설치함)

 

시작 등록

launchctl load -w ~/Library/LaunchAgents/gnu.emacs.daemon.plist

·           laucnhctl script 위치

·          

  •  

o             https://support.apple.com/en-nz/guide/terminal/apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac

 

또는

 

시스템 설정 -> 일반 -> 로그인 항목 -> 로그인 시 열기에 .plist 파일 추가

 

등록 해제

launchctl unload ~/Library/LaunchAgents/gnu.emacs.daemon.plist

·           시스템 재시작 시 정지 상태 확인 가능

 

실행

emacsclient -cn

 

728x90