0から始めるEmacs 業務カイゼン計画 第2回 ~設定ファイル編~
Emacs Lispは書けなくても大丈夫?
Emacsは殆どの設定や拡張が Emacs Lisp(以降 elisp)というスクリプト言語で行われています。
となると、作業目的のプログラミング言語に加えて、テキストエディタを設定するだけのプログラミング言語を覚えなきゃならないのか、と考えてしまいますよね。
書ければ書けるほどがEmacsのパワーを引き出すことができる訳ですが、プログラミング能力を「書ける」「書けない」という0,1ではっきり表現することはできません。
強いて言うなら「全く書いたことがない」くらいははっきり表現できますが、それ以降は実に曖昧です。
なにが言いたいかと言うと、方法はどうあれEmacsが思ったどおりにカスタマイズされ、動作しさえすればelispが「書ける」か「書けない」かなんてことは正直言ってどうでもいいわけです。
感謝とリスペクトを
とは言え全くelispを書いたことがない状態でいきなり設定ファイルを見つめてもどうしていいかわかりませんね。
であれば、ご親切に設定を公開してくださっている方々のelispを参考にさせていただきましょう。
要するに「コピペ」させて頂くのです。
昨今ではコピペが様々な物議を醸し出すことがしばしばありますが、Emacsの設定ファイルに関しては私的利用ですから無断でコピペさせて頂いたとしても法的リスクは殆どありません。
もちろん利用させていただく訳ですから、その際には感謝の心とリスペクトをもって、ありがたく参考にさせていただきましょう。
日頃私がお世話になっている方のブログはこちら
日本人のEmacsの伝道師的な方です。
Emacsの著書も出されています。
Emacsテクニックバイブル ?作業効率をカイゼンする200の技?
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2010/08/03
- メディア: 単行本(ソフトカバー)
- 購入: 27人 クリック: 1,039回
- この商品を含むブログ (68件) を見る
QiitaなどでもEmacsの設定方法についての記事はたくさんあります。
Emacsの設定ファイル
Emacsでは基本となる設定ファイルが存在します。
~/.emacs もしくは ~/.emacs.d/init.el です。
どちらも同じ役割なのですが、~/.emacs.d/init.elを使用したほうが.emacs.dのディレクトリで全ての設定ファイルを管理できるのでお勧めです。
~/.emacs.d/init.elを使用する場合は~/.emacsを削除しておきましょう。~/.emacsのほうが優先順位が高いので~/.emacs.d/init.elの変更が反映されない場合があります。
~/.emacs から~/.emacs.d/init.elに移動する一番簡単な方法は
C-x C-fで~/.emacsを開き、C-x C-wで~/.emacs.d/init.elを指定して保存します。
C-x C-wは保存先を指定して書き込むことができます。元の開いたファイルは保存前の状態で残っていますので削除しておきましょう。
Finderで削除しても構いませんがEmacs内で削除することも可能です。
C-x d でdired(EmacsのFinder的なもの)が呼び出されます。
" Dired (directory): "と下部に表示されたらディレクトリを指定します。
今回は~/.emacsを削除するので " Dired (directory): ~/ "としましょう。
RETを押すと~/以下のファイル、ディレクトリが一覧で表示されます。
カーソル上下、もしくはC-n C-pで移動できるので.emacsにカーソルを合わせて
dキーを押すと行の左端にDというマークが付きます。
この状態でxキーを押すと削除の確認が出ますのでyesと入力してRETで削除が完了します。
init.el
まずは~/.emacs.d/init.elを作成してみましょう。既に存在する場合はそれを開いてみましょう。
また、~/.emacs もしくは~/.emacs.elが存在する場合は~/.emacs.d/init.elにコピーすることをお勧めします。
既に第0回などでGUIから設定を行っている場合にはそれらがelispとして記述されているはずです。GUIから設定を行った場合でも設定自体はこのinit.elもしくは.emacsに記載されます。
試しに既に書かれているカスタムテーマをinit.elから変更してみましょう。
上の場合だと6行目がカスタムテーマの設定されている行なのでtango-darkからwombatに変更してみましょう。変更してC-x C-sで保存したら変更を反映します。
M-x load-file RETで"Load file :"と表示され、読み込むファイルを尋ねられますので~/.emacs.d/init.elと入力してRETを押せば変更が反映されます。
他の場合にもinit.elを変更した際には同様にM-x load-fileで変更を反映することができます。