高機能で人気のエディターソフト、Emacs(イーマックス)をもっと便利に使うための設定についてまとめました。
高機能のエディターソフト、Emacs
システム開発では、エディターは必携のツールです。VimやEmacs、Sublime Text、mi、サクラエディタなどさまざまなテキストエディターが知られていますよね。最近では、GitHubが開発したAtomなんかも注目を浴びています。
本記事のテーマは、プログラミング用として人気が高く、カスタマイズ性にも優れたEmacs(イーマックス)です。オススメの基本設定についてまとめました。
Emacsの基本設定オススメまとめ
Emacsの設定ファイルは .emacs.el です。設定情報はこちらに書き込んでいきましょう。ファイルは ~/.emacs.el にあります。
もちろん、コンパイルも忘れずに。
.emacs.el
;; ロードパスの設定
(setq load-path (append
'("~/.emacs.d"
"~/.emacs.d/packages")
;; 環境を日本語、UTF-8にする
(set-locale-environment nil)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(prefer-coding-system 'utf-8)
;; スタートアップメッセージを表示させない
(setq inhibit-startup-message t)
;; バックアップファイルを作成させない
(setq make-backup-files nil)
;; 終了時にオートセーブファイルを削除する
(setq delete-auto-save-files t)
;; タブにスペースを使用する
(setq-default tab-width 4 indent-tabs-mode nil)
;; 改行コードを表示する
(setq eol-mnemonic-dos "(CRLF)")
(setq eol-mnemonic-mac "(CR)")
(setq eol-mnemonic-unix "(LF)")
;; 複数ウィンドウを禁止する
(setq ns-pop-up-frames nil)
;; ウィンドウを透明にする
;; アクティブウィンドウ/非アクティブウィンドウ(alphaの値で透明度を指定)
(add-to-list 'default-frame-alist '(alpha . (0.85 0.85)))
;; メニューバーを消す
(menu-bar-mode -1)
;; ツールバーを消す
(tool-bar-mode -1)
;; 列数を表示する
(column-number-mode t)
;; 行数を表示する
(global-linum-mode t)
;; カーソルの点滅をやめる
(blink-cursor-mode 0)
;; カーソル行をハイライトする
(global-hl-line-mode t)
;; 対応する括弧を光らせる
(show-paren-mode 1)
;; ウィンドウ内に収まらないときだけ、カッコ内も光らせる
(setq show-paren-style 'mixed)
(set-face-background 'show-paren-match-face "grey")
(set-face-foreground 'show-paren-match-face "black")
;; スペース、タブなどを可視化する
(global-whitespace-mode 1)
;; スクロールは1行ごとに
(setq scroll-conservatively 1)
;; シフト+矢印で範囲選択
(setq pc-select-selection-keys-only t)
(pc-selection-mode 1)
;; C-kで行全体を削除する
(setq kill-whole-line t)
;;; dired設定
(require 'dired-x)
;; "yes or no" の選択を "y or n" にする
(fset 'yes-or-no-p 'y-or-n-p)
;; beep音を消す
(defun my-bell-function ()
(unless (memq this-command
'(isearch-abort abort-recursive-edit exit-minibuffer
keyboard-quit mwheel-scroll down up next-line previous-line
backward-char forward-char))
(ding)))
(setq ring-bell-function 'my-bell-function)
;; Macのキーバインドを使う
(mac-key-mode 1)
;; Macのoptionをメタキーにする
(setq mac-option-modifier 'meta)