macOS Catalina上でemcasをインストールする

はじめに_

homebrewをインストール済みとする。

テキストエディタ(エディタ)_

以上、いくつかの定義を紹介したがこれからわかる通り、エディタとワードプロセッサは違うものである。

エディタとはテキスト(普通の文字)を入力するためのソフトであり、乱暴な言い方をするとワードプロセッサから文書整形・修飾機能(太文字、斜体、拡大・縮小等)を取り去ったものともいえる。ワードプロセッサに比べて軽快に動き、かつ作成したファイルの互換性が高いため、ある程度長い文章でもエディタを愛用する人が多い。

たとえば、Windowsの代表的なエディタはメモ帳であり、ワードプロセッサはMicrosoft Wordである。

Emacs_

EmacsはUNIX/Linux上での代表的なエディタの一つである。

Emacs はUNIX上で有名かつ人気のあるエディタである。 Emacsは高度にカスタマイズ可能であり、Emacs Lispという言語で環境を記述すれば、メールやニュースのリーダーとして使用可能なのは勿論、ブラウザとしても使用可能である。タイピングソフトやプログラム作成時にデバッグする環境も構築できる。

caskをインストールする_

Mac OS 10.15からemacsを使う場合はインストールする必要がある。Homebrew経由でインストールできるemacsは3種類あり、そのうちcask経由でインストールする。

まず、caskをインストールする。

% brew install cask

emacsをインストールする_

% brew install emacs --cask

% which emacs
/usr/local/bin/emacs

% emacs --version
GNU Emacs 26.3
Copyright (C) 2019 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

起動してみる。

% emacs &

emacsの設定_

emacsは設定ファイルによってさまざまにカスタマイズ可能なエディタである。emacsの設定ファイルはホームディレクトリ下の.emacs.d/init.el としておくこととなっている。このディレクトリはemacsを起動した際に自動的に作成される。確認してみる。

% cd 
% ls -ld .emacs.d
drwx------  9 gotoh  staff  288  5 22 00:45 .emacs.d

今回は後藤が用意した設定ファイルを使って設定してみる。 GitHub:yuichigoto yg-emacs-initsからダウンロードできる。設置方法は以下の通り。

% cd ~/.emacs.d
% git clone https://github.com/yuichigoto/yg-emacs-inits.git
% mkdir inits

ディレクトリを確認する。

% ls
inits  yg-emacs-inits

init-loader.elの設置_

init-loader.elという仕組みを使って、設定ファイルを分割して管理する。

続いて、GitHub:init-loaderより、init-loader.elを取得する。

% cd ~/.emacs.d/
% git clone https://github.com/emacs-jp/init-loader.git
% ls 
init-loader    inits          yg-emacs-inits

主たる設定ファイルは ~/.emacs.d/init.elである。init.elを設置する

% cp yg-emacs-inits/init.el .

~/.emacs.d/init.elをemacsで開く。emacsを起動していない場合は以下のコマンドで起動する。

% emacs &

~/.emacs.d/init.elのファイルを開く。開き方は二つ。一つ目はメニューバーの「File」→「Open File」から .emacs.d ディレクトリの下にある init.elを選択する。

もし、上の方法で .emacs.d ディレクトリが表示されない場合は、マウスのカーソルをemacsのウィンドウ上に合わせて、Ctrlキーを押しながらxキーを押す(以後、Ctrlキーを押しながら何かのキーを押すのを 「C-何かのキー」と表記)、続いて C-f を押す。すると、emacsのミニバッファが以下の図のように「Find file: ~/ 」と入力待ちになる。そこで、「~/.emacs.d/init.el」となるように文字を打ち込み、Enterキーを押す。

emacs上でM-x eval-buffer を実行する。emacsのウィンドウ上に合わせて、Escキーを押しながらxキーを押す(以後、Altキーを押しながら何かのキーを押すのを 「M-何かのキー」と表記)。すると、emacsのミニバッファが以下の図のように「M-x 」と入力待ちになる。そこで、「eval-buffer」となるように文字を打ち込み、Enterキーを押す。これで、設定ファイル群を読み込まれる。

基本設定 01-default.el_

~/.emacs.d/inits/01-default.elを置く。

% cp yg-emacs-inits/01-default.el inits/

~/.emacs.d/init.elをemacs開き、M-x eval-buffer を実行し、設定ファイル群を読み込む。本設定が反映されると、emacsの背景が黒に、文字が白になる。

日本語設定 10-mac-jp.el_

日本語の設定をする。

% cp yg-emacs-inits/10-mac-jp.el inits

~/.emacs.d/init.elをemacsで開く。emacs上でM-x eval-buffer を実行し、設定ファイル群を読み込む。

適当なファイルで漢字変換を行ってみる。適当なファイルとして ~/tmp.txt を作成する。次にemacs上で ~/tmp.txt を開く。「かな」ボタンで日本語入力、「英数」で直接入力に切り替わる。適当に日本語を入力し、保存してみる(フロッピーディスクのアイコンをクリックするか、Controlキーを押しながらxキーを押す(C-xと表す)、続いてC-sを押す)。

% touch ~/tmp.txt

Unix/Linuxで日本語を用いる場合にはInput Methodというソフトウェアを経由して日本語の漢字変換を行う。Mac OSではMacOSの漢字変換ソフト「ことえり」を利用できるので、そのまま利用する。ただし、emacs上でことえりを用いた漢字変換を行う際にカーソルがちらつくという現象が起こる。ただ、この現象を解決するには結構大変なので情報基礎の講義では取り扱わないこととする。

Mac OSのショートカットキーの設定変更(追記:2020年6月2日)_

emacsの重要なキーバインドとしてC-space(Controlキーを押しながらスペースキーを押す)があるが、このキーバインドはMacOSでは入力モードの切り替えのショートカットキーとして登録されている。そこで、このショートカットを無効化する。

  • システム環境設定を開く
  • キーボードを選択する
  • ショートカットを選択する
  • 入力ソースを選択する
  • 「前の入力ソースを選択」のチェックを外す

30-whitespace.elを設置する。_

タブや全角スペースを表示する設定を~/.emacs.d/inits/30-whitespace.elとして置く。プログラムを書くようになると、プログラム中に全角スペースが含まれることでエラーになることがある。

% cp yg-emacs-inits/30-whitespace.el inits/30-whitespace.el

設置したら、~/.emacs.d/init.elをemacsで開き、M-x eval-bufferというようにemacs上でコマンドを打ち、設定を反映させる。

どのようになるのか試してみる。

  • サンプルファイルをダウンロードしてみる。
    % cd
    % wget http://www.aise.ics.saitama-u.ac.jp/~gotoh/Download/Samples/Example.whitespace.txt
    
    % ls Example.whitespace.txt (ダウンロードできていることを確かめる)
    
  • emacsでExample.whitespace.txtを開く(emacs上で C-x C-f ~/Example.whitespace.txtを開く)
  • 下の画像のようにタブや全角スペースが色付き表示される。

オプション:aspellのインストール_

英単語のスペルチェッカーのaspellを使用できるようにする。

% brew install aspell

~/.emacs.d/inits/31-aspell.el を設置する。

% cp yg-emacs-inits/31-aspell.el inits/

設置したら、~/.emacs.d/init.elをemacsで開き、M-x eval-bufferを実施する。

また、このままだとemacsから使用するときに「Error: No word lists can be found for the language "ja_JP"」というエラーメッセージが出てしまうので、ホームディレクトリに.aspell.confというファイルを用意する。

% touch ~/.aspell.conf

emacsで ~/.aspell.confを開き、中身を以下のようにする(Diary? 日記のような日記でない日記:aspell.confに従った)。

lang en_US

ためしにemacsで、新しいファイルをつくり、スペルチェックしてみる。

  • emacs上でC-x C-f (Controlキーを押しながらxキーを押す、その後Controlキーを押しながらfキーを押す)で~/new.txtを作成
  • 「I wish I were a birb.」と打つ
  • M-x ispell とコマンドを実行
  • 「birb」に対して変換候補がでたならばaspellはちゃんと動いている。
  • C-x C-sで保存する。

戻る_