MENU

Emacs 設定ガイド

目次

Emacsを使う理由

  • Windowsの操作と相性が良い
  • 実績があるエディタで信頼性が高い
  • Vimに比べて、Windows標準のキーバインドに近い

ただし、日本語サポートには改善の余地がある点に注意が必要です。

インストール方法

Windowsでのインストール

GNU Emacs の公式ページからダウンロードできます。

GNU Emacs ダウンロードページ

init.el の設定

C:\Users\ユーザー名\AppData\Roaming\.emacs.d 以下に init.el を作成します。設定を管理するためのファイルです。

以下、init.el に設定する内容を解説します。

スタートアップメッセージを表示しない

(setq inhibit-startup-message t)

ビープ音を無効にする

(setq ring-bell-function 'ignore)

バックアップファイルを作成しない

(setq make-backup-files nil)

オートセーブファイルを作成しない

(setq auto-save-default nil)

タイトルバーにファイルのフルパスを表示

(setq frame-title-format "%f")

行番号の表示

(global-linum-mode t)

行と列の位置を表示

(line-number-mode t)
(column-number-mode t)

現在行を目立たせる

(global-hl-line-mode t)

カーソルの場所を保存する

(save-place-mode 1)

タブ幅の設定

(setq tab-width 4)

対応する括弧をハイライト表示

(show-paren-mode 1)

勝手なインデントを防ぐ

(setq-default indent-tabs-mode nil)

カレントディレクトリをホームディレクトリに設定

(cd "~/")

バッファリストをウィンドウを分割せずに開く

(global-set-key "\C-x\C-b" 'buffer-menu)

行を折り返さない設定

(setq truncate-lines t)
(setq truncate-partial-width-windows t)

水平スクロールバーの表示

(custom-set-variables '(horizontal-scroll-bar-mode t))

起動時のウィンドウサイズや色の設定

(if (boundp 'window-system)
    (setq default-frame-alist
          (append (list
                   '(foreground-color . "black")   ; 文字色
                   '(background-color . "white")   ; 背景色
                   '(border-color . "white")       ; ボーダー色
                   '(mouse-color . "black")        ; マウスカーソルの色
                   '(cursor-color . "black")       ; カーソルの色
                   '(cursor-type . box)             ; カーソルの形状
                   '(top . 30)                      ; ウィンドウの表示位置(Y座標)
                   '(left . 240)                    ; ウィンドウの表示位置(X座標)
                   '(width . 140)                   ; ウィンドウの幅(文字数)
                   '(height . 55))                  ; ウィンドウの高さ(文字数)
                  default-frame-alist)))
(setq initial-frame-alist default-frame-alist)

フォント設定

(set-face-attribute 'default nil :family "Menlo" :height 140)
(set-fontset-font (frame-parameter nil 'font)
                  'japanese-jisx0208
                  (font-spec :family "Hiragino Kaku Gothic ProN"))
(add-to-list 'face-font-rescale-alist
             '(".*Hiragino Kaku Gothic ProN.*" . 1.2))

履歴の保存

(savehist-mode 1)
(setq history-length 1000)

日本語環境の設定

(set-language-environment "Japanese")

Grepの設定

(setq grep-command "findstr /n /s *")

Windowsキーバインド

(cua-mode t)

プラグイン設定

elisp フォルダの作成

C:\Users\ユーザー名\AppData\Roaming\.emacs.d 以下に elisp フォルダを作成し、init.el の先頭に以下を追加します。

(add-to-list 'load-path "~/.emacs.d/elisp")

tabbar の設定

tabbar.elelisp フォルダに追加し、init.el に以下を追加します。

(when (require 'tabbar nil t)
  (tabbar-mode 1))

(tabbar-mwheel-mode -1) ; マウスホイール操作を無効
(setq tabbar-buffer-groups-function nil) ; グループ化しない
(setq tabbar-use-images nil) ; 画像を使わない

redo+ の設定

redo+.elelisp フォルダに追加し、init.el に以下を追加します。

(require 'redo+)
(setq undo-no-redo t) ; 過去のundoがredoされないようにする
(setq undo-limit 600000)
(setq undo-strong-limit 900000)
(define-key global-map (kbd "M-_") 'redo)

ツールバーの設定

ツールバーにカスタムメニューを追加します。

(defun my-init-el ()
  (interactive)
  (find-file "~/.emacs.d/init.el"))

(setq menu-bar-my-menu-work (make-sparse-keymap))
(define-key-after menu-bar-my-menu-work [my-anything-buffer-not-found]
  '("新規作成" . find-file))

(setq menu-bar-my-menu (make-sparse-keymap "マイメニュー"))
(define-key-after menu-bar-my-menu [initel]
  '("init.elを開く" . my-init-el))
(define-key-after menu-bar-my-menu [separator1] '("--"))
(define-key-after menu-bar-my-menu [work] (cons "work" menu-bar-my-menu-work))

(defun show-menu-bar-my-menu ()
  (interactive)
  (popup-menu menu-bar-my-menu))

(let ((tool-bar-map (default-value 'tool-bar-map)))
  (tool-bar-add-item "new" 'show-menu-bar-my-menu 'メニュー :help "メニュー"))

ファイルをダブルクリックで同じウィンドウに表示する

以下の設定を行うことで、Emacs内でファイルをダブルクリックした際に同じウィンドウで開けるようにします。

init.el の設定

(require 'server)
(server-start)

emacs.bat の作成

C:\Program Files\emacs-26.3-x86_64\binemacs.bat を作成し、以下の内容を記述します。

cd C:\Program Files\emacs-26.3-x86_64\bin
start emacsclientw -a runemacs %1
exit

org-mode の使用方法

Emacs には org-mode という強力なタスク管理とメモの機能があります。プランニングやドキュメントの作成に役立てることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次