Emacs の設定
取り敢えず %HOME%
にディレクトリ(フォルダ) .emacs.d
を作成して,その下にconf
,elisp
,etc
などを作成する.
init.el
で conf
以下の個別の設定を呼び出すことにする.オールドタイプなので package.el
や init-loader.el
は使わないです.
また,Emacs
のインストール先を D:\Programs\emacs
にしています.
~/.emacs.d/init.el
に下記内容で作成する.個別の設定は,~/.emacs.d/conf/init-xxx.el
に記述して,load
で呼び出す.
設定はいろいろな所を参考にさせて貰いましたが,出典が分からないのが多数です. >_<;
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
;; load-pathを追加する関数
(defun add-to-load-path (&rest paths)
(let (path)
(dolist (path paths paths)
(let ((default-directory
(expand-file-name (concat user-emacs-directory path))))
(add-to-list 'load-path default-directory)
(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
(normal-top-level-add-subdirs-to-load-path))))))
;; 引数のディレクトリ以下をload-pathに追加
(add-to-load-path "elisp" "conf")
;; use-package を require の代わりに使う
(if (require 'use-package nil t)
(setq use-package-verbose t)
(message "Use-package is unavailable!")
(defmacro use-package (&rest _args)))
;; 個別設定をロードする
(load "init-global")
(load "init-utility")
(load "init-xxx")
共通の設定
共通の設定を init-global.el
に記述する.忘れそうなのだけメモします.
;; 日本語環境
(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)
(set-file-name-coding-system 'cp932)
(set-keyboard-coding-system 'cp932)
(set-terminal-coding-system 'cp932)
;; Proxy の設定
(setq url-proxy-services '(("http" . "Proxy:Port")))
;; 起動時のディレクトリの変更
(setq default-directory "~/")
;; C-h を Backspace に
(keyboard-translate ?\C-h ?\C-?)
;; *scratch* バッファを削除しない
(defadvice kill-buffer (around kill-buffer-around-advice activate)
(let ((buffer-to-kill (ad-get-arg 0)))
(if (equal buffer-to-kill "*scratch*")
(bury-buffer)
ad-do-it)))
;; server start for emacs-client
(use-package server
:if window-system
:init
(unless (server-running-p)
(server-start)))
C/Migemo
KaoriYa さんから,「C/Migemo for Windows 64bit」をダウンロードする.
解凍して出てきて cmigemo.dll,cmigemo.exe
を D:\Programs\emacs\libexec\emacs\24.4\x86_64-pc-mingw32
にコピーする. 辞書ファイルを ~/.emacs.d/etc/dict/migemo
にコピーする.
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
(use-package migemo
:config
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(setq migemo-dictionary (expand-file-name "~/.emacs.d/etc/dict/migemo/utf-8/migemo-dict"))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1000)
(setq migemo-coding-system 'utf-8-unix)
(migemo-init))
The Silver Searcher(ag)
Msys2 Shell
から Pacman -S mingw-w64-x86_64-ag
でインストールする.
ag.exe,libwinpthread-1.dll,libpcre-1.dll,liblzma-5.dll
を D:\Programs\emacs\libexec\emacs\24.4\x86_64-pc-mingw32
にコピーする.
helm-ag
を ~/.emacs.d/elisp/helm
にインストールする.(helm
のインストール先を~/.emacs.d/elisp/helm
にしています)
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
(use-package helm-config
:bind
("C-;" . helm-mini)
("C-x C-b" . helm-buffers-list)
:config
(use-package helm-files
:config
(define-key helm-find-files-map (kbd "TAB") 'helm-execute-persistent-action))
)
(use-package helm-ag
:bind
("M-s" . helm-ag)
)
Aspell
Msys2 Shell
から Pacman -S mingw-w64-x86_64-aspell
でインストールする.
aspell.exe,word-list-compress.exe,libaspell-15.dll,libstdc++-6.dll,libintl-8.dll,libgcc_s_seh-1.dll,libiconv-2.dll
をD:\Programs\emacs\libexec\emacs\24.4\x86_64-pc-mingw32
にコピーする.
辞書ファイルがないので,GNU Aspell
からインストールする.
MinGW-w64 Win64 Shell
から実行する.
$ curl -O ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-2015.02.15-0.tar.bz2
$ tar jxvf aspell6-en-2015.02.15-0.tar.bz2
$ cd aspell6-en-2015.02.15-0
$ ./configure
$ vi Makefile
---
dictdir = D:\msys64\mingw64/lib/aspell-0.60
datadir = D:\msys64\mingw64/lib/aspell-0.60
↓
dictdir = D:\\msys64\\mingw64/lib/aspell-0.60
datadir = D:\\msys64\\mingw64/lib/aspell-0.60
---
$ make
$ make isntall
D:\msys64\mingw64\lib\aspell-0.60
をD:\Programs\emacs\libexec\emacs\24.4\x86_64-pc-mingw32\lib\aspell-0.60
にコピーする.
ispell-complete-word
が動作しないので,words
と grep.exe
がないので調達する.UNIX 系の OS にある words
ファイル(/usr/local/share/dict,/usr/share/dict
にある?) を ~/.emacs.d/etc/dict/
にコピーする.
MSYS2
の grep.exe
を使うと必要な DLL
が増えるのでコンパイルしたものを使用する.
MinGW-w64 Win64 Shell
から実行する.
$ curl -O http://ftp.gnu.org/gnu/grep/grep-2.21.tar.xz
$ tar Jxvf grep-2.21.tar.xz
$ cd grep-2.21
$ ./configure
$ make
src
にできた grep.exe
を D:\Programs\emacs\libexec\emacs\24.4\x86_64-pc-mingw32
にコピーする.
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
(use-package ispell
:init
(setq ispell-program-name "aspell")
:config
(setq ispell-alternate-dictionary (expand-file-name "~/.emacs.d/etc/dict/words"))
(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
~/.aspell.conf
lang en_US
を追加する.
Markdown
Pandoc
(2015/4/14 Font Awesome の設定追加)
Pandoc から最新のバージョンをダウンロードしてインストールする.ここでは,pandoc-1.13.2-windows.msi
をインストールししました.
Markdown-mode
markdown-mode
を ~/.emacs.d/elisp
にインストールする.
スタイルシートを適用する場合は,適当な CSS を用意する.ここでは,github.css を使うことにする.
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
(use-package markdown-mode
:mode
("\\.md\\'" . gfm-mode)
:config
(setq markdown-command "pandoc --smart -f markdown_github -t html5")
(setq markdown-css-path "path\\to\\github.css")
(setq markdown-xhtml-header-content "<link href=\"http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css\" rel=\"stylesheet\" />")
)
-
C-c C-c m
: ソースの表示(buffer に表示される) -
C-c C-c p
: ブラウザで表示(temporary file で表示:CSSが適用されない) -
C-c C-c v
: ブラウザで表示(basename.htmlを生成して表示: CSSが適用される)