Emacsのカスタマイズ¶
Emacsの良いところの一つとして、カスタマイズ性の高さがあります。 ここでは、基本的なカスタマイズを通して、Emacsのカスタマイズについて学びたいと思います。
.emacs¶
.bashrc
や .gitconfig
のようなものとして、 .emacs
と呼ばれるものがあります。
.emacs
はEmacsの設定ファイルです。
Emacsは、起動した時にこの .emacs
の中身を見ます。
Emacsは、起動時に、
~/.emacs
~/.emacs.el
~/.emacs.d/init.el
の順に設定ファイルを探し、最初に見つかった設定ファイルを読み込みます。
通常はgitで管理がしやすい ~/.emacs.d/init.el
を作成し、設定の内容を書いていきます。
Emacsが起動できなくなった場合の対処¶
Emacsの設定ファイルを書き間違えてしまい、Emacs自体が起動できなくなってしまう場合は、以下の方法で対処します。
emacs -q で起動する¶
emacs -q
で起動すると、設定ファイルを読み込まない状態でEmacsを起動できます。
覚えておくと何かと便利です。
vimなど他のエディタで起動する¶
もちろんこういう方法があります。
設定ファイルを読み込まないようにする¶
init.elの名前を変更したり、空の ~/.emacs.d
を作成すると、設定を読み込まなくなり、起動できるようになります。
elispについて¶
基本文法¶
elispについて超簡単に説明します。
Emacsの設定ファイルは、elispというプログラミング言語(LISPの一種)で書きます。
拡張子は .el
です。
elispは関数型言語で、以下のようなの文法が基本になっています。
(hoge "huga")
これは、 hoge
という関数を huga
という文字列を引数にとって呼んでいることになります。
(setq tab-width 4)
setq
は変数に値をセットする関数です。
tab-width
という変数に整数4をセットしています。
これにより、タブの幅がスペース4つになります。
もちろん、引数を複数とる/とらない場合もありますし、引数にさらに関数をとることもできます。
コメント¶
; (セミコロン)から行末まではコメントとなります。
慣例として、行頭から始まるコメントにはセミコロン1つ ;;
を使います。
;; タブ幅の設定
(setq tab-width 4)
行の途中から始まるコメントはセミコロン1つを使います。
(setq tab-width 4) ; タブ幅の設定
Emacsのモードについて¶
Emacsには「モード」という概念があります。 モードには「メジャーモード」と「マイナーモード」があります。 Emacsが起動している時には、1つのメジャーモードと、複数のマイナーモードがあります。
例えば、〜.php
を開いている時に、
- メジャーモードとして
php-mode
- マイナーモードとして
FlyC
,yas
が動いているとします。
php-mode
は、phpのコードのシンタックスハイライトを働かせたりするためのモードです。
FlyC
は、コードに文法ミスがある場合に、該当部分を表示してくれるモードでです。
yas
は、コードの補完を行ってくれるモードです。
Emacsのキーバインドは、グローバルに設定したり、モードごとに設定できたりします。
グローバルに設定したキーバインドよりも、モードごとに設定されたキーバインドの方が優先されます。 そのため、設定ファイルでグローバルにキーバインドを設定しても、モードごとの設定に上書きされてしまい、 キーバインドが有効にならない場合があります。 設定がうまく動かない場合は、これを疑ってみてください。