.emacs(あるいは .emacs.d/init.el)の例

最近の .emacs の例。

共通の設定は,site-start.el に書いておいて,個人的にインストールしたパッケージの設定のみを書く方針で。(誰が使ってくれるかわからないが)PC 実習室での利用を想定しているので,最低限,スタートアップメッセージの抑止の1行があればいいかも。

Windows 版 Emacs の .emacs の例

macOS 版 Emacs の .emacs の例

Ubuntu 版 Emacs の .emacs の例

上記リンクを右クリックで保存して,~/.emacs としておく。

あとは,package-install したら,その必要な部分を uncomment。

.emacs の内容

スタートアップメッセージの抑止

.emacs がなくても問題なく利用できるが,やはり,最低限以下の1行があると良い。

(setq inhibit-startup-message t)

AUCTeX を package-install した場合の設定:

Windows/macOS/Ubuntu で PDF viewer の設定が違うだけ。

Windows の例
;;; AUCTeX
;;; M-x package-install
;;; auctex
;;; sudo choco install sumatrapdf -y
(setq japanese-TeX-engine-default 'ptex)
(setq japanese-LaTeX-default-style "jsarticle")
(setq TeX-engine 'ptex)
(setq TeX-PDF-from-DVI "Dvipdfmx")
(setenv "Path" (concat "C:\\Program Data\\chocolatey\\bin\\SumatraPDF;" (getenv "Path")))
(setq exec-path (append exec-path '("C:\\ProgramData\\chocolatey\\bin\\SumatraPDF")))
(setq TeX-view-program-selection '((output-pdf "SumatraPDF")))
macOS の例
;;; AUCTeX
;;; M-x package-install
;;; auctex
;;; brew cask install skim
;;; (require 'tex-site) ;; package-install した場合は不要。
(setq japanese-TeX-engine-default 'ptex)
(setq TeX-engine 'ptex)
(setq TeX-PDF-from-DVI "Dvipdfmx")
(add-hook 'LaTeX-mode-hook 'japanese-latex-mode)
(setq japanese-LaTeX-default-style "jsarticle")
(setq TeX-view-program-list '(("PDFviewer" "open -a Skim %o")))
(setq TeX-view-program-selection '((output-pdf "PDFviewer")))
Ubuntu の例
;;; AUCTeX
;;; M-x package-install
;;; auctex
;;; (require 'tex-site) ;; package-install した場合は不要。
(setq japanese-TeX-engine-default 'ptex)
(setq TeX-engine 'ptex)
(setq TeX-PDF-from-DVI "Dvipdfmx")
(add-hook 'LaTeX-mode-hook 'japanese-latex-mode)
(setq japanese-LaTeX-default-style "jsarticle")
(setq TeX-view-program-list '(("PDFviewer" "evince %o")))
(setq TeX-view-program-selection '((output-pdf "PDFviewer")))

auto-completeを package-install した場合の設定

;;; auto-complete
;;; M-x package-install
;;; auto-complete
;;; fuzzy も package-install しておく。
(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-modes 'text-mode) ;; text-modeでも自動的に有効にする
(add-to-list 'ac-modes 'latex-mode)
(ac-set-trigger-key "TAB")
(setq ac-use-menu-map t) ;; 補完メニュー表示時にC-n/C-pで補完候補選択
(setq ac-use-fuzzy t) ;; 曖昧マッチ fuzzy.el も package-install

AUCTeX 等で Spell (スペルチェック)を使う場合の設定

Windows では aspell が実質使えないので,以下の設定は無用。

;;; Spell
;;; brew install apell
;;; echo "lang en_US" >> ~/.aspell.conf
(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
'(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
(add-hook 'latex-mode-hook 'flyspell-mode)

その他の個人的設定

昔から設定してある内容なので,お好みで。

;;; Text mode
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;;; 括弧の対応関係をハイライト表示
(show-paren-mode 1)

;;; 行番号の設定(F5 キーで表示・非表示を切り替え)
;;; linum.el が必要だけど,通常は入っている.
(require 'linum)
(global-linum-mode 0)
(global-set-key [f5] 'linum-mode)
(setq linum-format
(lambda (line) (propertize (format
(let ((w (length (number-to-string
(count-lines (point-min) (point-max))
)))) (concat "%" (number-to-string w) "d "))
line) 'face 'linum)))
(setq linum-format "%4d ")

;;; % Time-stamp: <>
;;; と書いておくと,保存したときにタイムスタンプが書き込まれます。
(if (not (memq 'time-stamp write-file-hooks))
(setq write-file-hooks (cons 'time-stamp write-file-hooks)))