プロジェクト

全般

プロフィール

Emacs

Emacsの導入

Windows OS上へEmacsを導入

見栄えの設定

テーマの指定

Emacs 24からはテーマ機能が標準搭載されたので、それを使います。標準で用意されているテーマは Emacs 25.3では次のディレクトリに含まれます。
share/emacs/25.3/etc/themes/

次のように指定します(上述のテーマディレクトリにあるファイル名から-theme.elを抜いた名前を指定)。
以下は、misterioso-theme.el を指定する例です。

(load-theme 'misterioso t)

別途テーマを自分のディレクトリに用意して利用する場合は次のように指定します。

(setq custom-theme-directory "~/.emacs.d/themes/")
(load-theme 'blackboard t)

背景透過

ウィンドウの背景を透過する設定です。アルファ値の値を100分率(要確認)で指定します。

(add-to-list 'default-frame-alist' (alpha . 90))

フォント設定

次は、基本フォントにConsolasを、日本語フォントにMeiryoを指定した例です。

(set-face-attribute 'default nil
            :family "Consolas" 
            :height 80)
(set-fontset-font nil 'japanese-jisx0208
          (font-spec :family "Meiryo" :size 11))

操作関係の設定

マウスで領域選択するとコピーする

Emacs 24以降では、マウスで領域選択しても自動でコピーされなくなりました。
次の設定を記述すると、マウスで領域選択したときにコピーまでされるようになります。

(setq mouse-drag-copy-region t)

Emacsの拡張

パッケージ管理の導入

Emacsには、パッケージ管理機能が搭載されるようになっています。インターネットに接続できる環境であれば、パッケージ管理機能で欲しい拡張機能をインストールするのが簡単です。

以下は、パッケージ管理機能を有効にして、標準リポジトリに追加してMELPAリポジトリを利用する設定の記述例です。

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
  • 注1) Windows版のEmacsでは、melpaのURL指定でプロトコルhttpsでは繋がらないので、httpとしています。
  • 注2) Emacs起動後、1回M-x package-refresh-contentsを実行します。さもないと、melpaのパッケージ情報が反映されません。

SKKの設定

日本語入力機能です。IMEを使わずEmacsの機能だけで日本語入力ができます。

MELPAからのインストール

M-x package-install を実行するとミニバッファ上でInstall package:を聞いてくるので ddskk を実行します。

init.elに設定

(when (require 'skk nil t)
  (global-set-key (kbd "C-x j") 'skk-auto-fill-mode)
  (setq default-input-method "japanese-skk")
  (require 'skk-study))
  • whenで始まる1行目は、skkが入っていない環境でemacsが起動時にエラー終了しないためのイディオムです。
  • 4行目のskk-studyは学習機能の追加です。

groovy-modeの設定

プログラミング言語groovyの編集モードです。

MELPAからのインストール

M-x package-install を実行するとミニバッファ上でInstall package:を聞いてくるので groovy-mode を実行します。

特に設定を記述しなくても、拡張子.gradle のファイルを開くとgroovy-modeとなりました。

手動インストール

groovy-mode とそれが依存するemacs lispパッケージをインストールします。groovy-modeのバージョンにより必要なパッケージが異なります。

groovy-mode s.el dash.el
2.0 要 1.12.0以降 不要
master 要 1.12.0以降 要 2.13.0以降

各パッケージの入手先は以下です。

groovy-emacs-modes
s
dash

いずれも GitHubで提供されているので、アーカイブファイルをダウンロードし、emacsのsite-lispディレクトリ下にコピーします。

以下の設定を、emacs設定ファイル(.emacsとかinit.elとか)に記述します。

;; groovy
(autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t)
(add-to-list 'auto-mode-alist '("\\.groovy\\'" . groovy-mode))
(add-to-list 'auto-mode-alist '("\\.gradle\\'" . groovy-mode))
(add-hook 'groovy-mode-hook
      (lambda ()
        (setq indent-tabs-mode nil)
        )
      )
トラブル1

File mode specification error: (void-variable groovy-postfix-operator-regex)

  • 仮説1)groovy-emacs-modes-2.0 に含まれるgroovy-mode.elには、groovy-postfix-operator-regexが未定義のため発生か?
    groovy-emacs-modes のmasterをダウンロードしたところ、groovy-mode.elにはgroovy-postfix-operator-regexが記載あり。
    → 結果エラーは解消されず
  • 仮説2)古いgroovy-mode.elcがあるとgroovy-mode.elを読まず、古いgroovy-mode.elcが使われる
    emacsインストールディレクトリ下にgroovyおよびelcのファイル名を探したが該当なし。
    その後、ユーザー固有(HOME)の.eamcs.dの下にelcファイルがあることを発見(elpaディレクトリ下およびstraightディレクトリ下)
    → 削除したところエラー解消