理工系研究者のための Mac OS X, Windows, Linux メモ
 
ホーム >> アプリ >> Emacs

Emacsの便利な使い方

日本語入力

  1. Anthy で日本語入力
  2. Anthyでの日本語入力切り替えキーを Shift-Space にする
  3. yc.el をインストールしてcannaで日本語変換
  4. 句読点をコンマ,ピリオドにする --Anthyの場合--
  5. emacs20.7.1でycを使って日本語変換すると画面がチカチカする

フォント・文字コード

  1. 文字コードを指定してファイルを読み直したい
  2. 文字コードを指定してファイルを開きたい
  3. emacsのフォント設定
  4. デフォルトの文字コード、改行コードの設定
  5. 文字コードや改行コードの変更方法
  6. UNICODE(UTF-8)のファイルを作成したい

表示

  1. ウインドウの左側に行番号を表示したい
  2. ツールバー、メニューバーを消したい
  3. 行番号、列番号を表示させる
  4. 行間を広げたい
  5. タブ、行末の空白に色を付けたい
  6. FORTRANモードなどでキーワードに色をつける

機能拡張

  1. cc-mode Tips
  2. X-Symbolを使いたい
  3. flyspell.elを使ってインタラクティブにスペルチェックしたい
  4. SDICをインストールして英辞郎などの辞書データを閲覧する
  5. Ispellをemacsで使うために、ispell.elを導入
  6. ispellで日本語交じりの文章でスペルチェック
  7. タイピング練習ソフト trr のインストール
  8. YCを用いているときに単語登録する

入力支援

  1. YaTeXモードでコメントアウトのショートカットを設定したい
  2. ESCキーは C-[ で代用できる
  3. 単語省略モードを使って長いセンテンスの省略形を作る
  4. etagsでC言語プログラミング支援
  5. 動的略称展開を使いたい
  6. OSXクリップボード内容をEmacsに取り込む
  7. Carbon Emacsにmmm-modeをインストールする
  8. PHP-modeのインストール
  9. HTML-helper-modeのインストール

ファイル

  1. バックアップファイル・オートセーブファイルを作成しないようにしたい
  2. 拡張子に関係なく、ファイルをFortranモードで開くようにする(2002.1.12)
  3. .emacsを読み込まずにemacsを起動する
  4. .f だけでなくて、他の拡張子でもデフォルトで FORTRAN mode で起動させたい(2001.11.23)

初期設定

  1. emacs-lispファイルの検索パスの指定

その他

  1. Emacs上でコンパイルを実行したい
  2. Emacsのバージョンを調べたい
  3. no windowモードのemacsを新しいkterm上で開く
  4. コマンドラインでemacs-lispのバイトコンパイル
  5. モードの変更

ウインドウの左側に行番号を表示したい

作成日:2007.4.16

wb-line-numberを使うと、ウインドウ左側に行番号を表示することができる。 wb-line-number開発者のサイトからwb-line-number.elを取得し、emacs-lispのパスの通った所に収納する。

.emacsには次の設定を追記する。

(require 'wb-line-number)
必要な時にM-x wb-line-number-toggle とすれば起動できる。 Emacsの起動時から使う場合は、
(wb-line-number-toggle)
も追加する。

文字コードを指定してファイルを読み直したい

作成日:2007.3.18

ファイルを単に読み直すには

M-x find-alternate-file (C-x C-v)
ファイルの文字コードを指定して、読み直すには
M-x universal-coding-system-argument (C-x RET c)
 C-x C-v

▼参考サイト or 参考文献

UNICODE(UTF-8)のファイルを作成したい

更新日:2009.5.11
作成日:2007.3.18

ユニコード形式(UTF-8)のファイルを作成したり、編集するためにはmule-ucsをインストールするとよい。ソースは白井氏のウェブサイトから取得できる。

ソースを取得したらtarで展開し、コンパイルする。

$ tar zxvf mule-ucs.tar.gz
$ cd mule-ucs-20061127-1/
$ emacs -batch -l mucs-comp.el
UTF-8への変換データベースが大きいので、3行目で行っているバイトコンパイルは実行しておいた方が良いです。

el, elcファイルをパスの通った適切な場所にコピーする。

$ cp lisp/*.el lisp/*.elc /usr/share/emacs/site-lisp/
そして.emacsに次のように追記する。
(require 'un-define)
(require 'un-tools)
文字コードをUTF-8に変換するには C-x RET C-f と打って、UTF-8-UNIXなどを選択します。

Mac OS X の場合で、パッケージマネージャーとしてFinkを使っている場合には、

$ sudo apt-get install mule-ucs
としてインストールすることができる。

YaTeXモードでコメントアウトのショートカットを設定したい

作成日:2005.1.12
環境:GNU Emacs 21.3.50.1 (powerpc-apple-darwin7.0.0, X toolkit)

c-modeではC-c C-cでコメントアウトになっているので、これに合わせてYaTeXモードでもコメントアウトに対応させることにする。 .emacs に次のように追記する。

(add-hook 'yatex-mode-hook
          '(lambda ()
             (local-set-hook "\C-c\C-c" 'comment-region)
             (local-set-hook "\C-c\C-u" 'uncomment-region) ))

yatex.el の中身を見ると、

(run-hooks 'yatex-mode-hook)
と書いてある部分がある。ここでフックが実行されるので、フックに実行したい設定を登録しておく。登録方法は上記のように add-hookを用いる。

ちなみに、ある特定のモードに対してではなくて、全てのモードに対して適用するには、グローバルマップに割り当てるとよい。例えば、すべてのモードでM-gをgoto-lineに割り当てるには、

(global-set-key "\M-g" 'goto-line)
とすればよい。

▼参考サイト or 参考文献

Anthyでの日本語入力切り替えキーを Shift-Space にする

環境:GNU Emacs 21.3.50.1

anthy-mode の起動を shift-space に割り当てるためには .emacs に次のように追記する。

;(global-set-key "\C-o" 'anthy-mode) ; 従来の方法 Control-o -> コメントアウト
(global-set-key [?\S- ] 'anthy-mode) ; 新しく shift-space に設定

cc-mode Tips

作成日:2004.1.18

字下げ

字下げなどのスタイルを自動的に適用するには、適用する範囲をリージョンとして定義して(選択して)

ESC C-\ (indent-region)
とタイプする。

自動改行

auto-newline を使うと ; や { を入力すると自動的に改行される。これを有効にするには

C-c C-a (c-toggle-auto-state)
とタイプする。この機能をデフォルトでONにしたいなら .emacs に次のように書いておく。
(add-hook 'c-mode-hook
     '(lambda ()
          (c-toggle-auto-state)))

コメント入力

コメントの入力のためには

ESC ;
とタイプする。

ある領域をまとめてコメントにしたいときは、リージョンを選択して

ESC x comment-region
とする。 このコメントマークを外したい時には
ESC x uncomment-region
とする。

▼参考サイト or 参考文献

ESCキーは C-[ で代用できる

作成日:2004.1.15

ESCキーはホームポジションから離れた所にあり打ちにくいが C-[ で代用できる。M-x なら C-[ x と打てばよい。

日本語入力システムAnthyのインストール

作成日:2003.11.2

Sourceforgeから、anthy-4300.tar.gz を取得する。 インストールは次の手順で行う。

(cshでの例)
% tar zxvf anthy-4300.tar.gz
% setenv CPPFLAGS -no-cpp-precomp
% ./configure --disable-shared
% make
% sudo make install
.emacs には次のように追記する。
(load-library "anthy")
(setq default-input-method 'japanese-anthy)
;C-oでanthy-modeにするための設定
(global-set-key "\C-o" 'anthy-mode)
anthy-modeのときにqを押すとカタカナ入力、l(エル)は英数モード、L(大文字のエル)は全角英字入力モードになる。日本語モードに戻すときは Control-j と打つ。

▼参考サイト or 参考文献

句読点をコンマ,ピリオドにする --anthyの場合--

作成日:2010.2.1

日本語入力にAnthyを用いている場合に,句読点を「、」「。」から「,」「.」に変更するためには設定ファイル.emacsに次のように記述する.

(anthy-load-hiragana-map anthy-alt-char-map)

単語省略モードを使って長いセンテンスの省略形を作る

作成日:2003.9.22

単語省略モードを使うと、単語やセンテンスなどの略称を定義することで入力を省くことができる。 また、スペルミスしやすい単語に対して、間違ったスペルの略称として正しいスペルを登録することで自動的にスペルミスを修正するような使い方もできる。

略称を登録するためには、まず単語略称モードに移行する。

ESC x abbrev-mode
モード行に abbrev と表示されているのを確認する。略称にはグローバル略称とローカル略称がある。 ローカル略称として定義した略称は、そのモードでのみ有効となる。例えば c-mode で使っている時にローカル略称を定義した場合には、その略称は c-mode でのみ有効になる。 グルーバル略称は全てのモードに対して有効となる。

略称を定義するにはまず、emacs上に略称を入力する。カーソルがその略称のすぐ後にある状態で、

C-x aig   (add-inverse-globalの略)
と入力する。ローカル略称の場合は、
C-x ail   (add-inverse-localの略)
とする。 するとその展開形を聞いてくるので入力する。それ以降、その略称を入力して、空白または句読点を打つ度に略称展開するようになる。

次に、起動時に略称展開モードを有効にし、また略称をファイルに登録する方法を述べる。次の行を ~/.emacs.el に記入しておく。

(setq-default abbrev-mode t)
(read-abbrev-file "~/.abbrev_file")
(setq save-abbrevs t)
~/.emacs.el をセーブしたら ~/.abbrev-file を作るためにターミナルで
% touch ~/.abbrev-file
としておく。そして emacs を終了して、再起動する。上記した方法で再度略称を登録する。

pfl
C-x aig
Global expansion for "pfl": printf("%s %d: ", __FILE__,__LINE__);

好きなだけ登録したら、それらをファイルに記録しておく。記録するには、

ESC x write-abbrev-file
この時、ファイル名を聞かれるので、

Write abbrev file: ~/.abbrev-file
と答える。するとファイルに略称とその展開形が登録される。 定義した略称を削除するには、まず始めに
ESC x edit-abbrevs
と打つ。その中から不要な略称の行の先頭で
C-k
として行を削除する。そして C-x C-s でセーブしておく。ここでは略称の編集や追加は行わない方が良い。編集したいならば、不要な行を削除して上記の C-x aig による方法で再度追加する。

略称展開されてしまったものを元に戻したい時には、

ESC x unexpand-abbrev
と打つと良い。最後の略称展開を元に戻すことができる。 そのセッションにおいて略称を無効にしたい時は
ESC x kill-all-abbrevs
とする。

etagsでC言語プログラミング支援

作成日:2003.8.31

etagsを用いると、C言語の関数の定義されている部分にショートカットで飛ぶことができる。

etagsを利用するにはあらかじめタグテーブルを作成しておく必要がある。

$ etags *.[ch]
もしくはemacsからESC-!でetagsコマンドを実行することもできる。 これで、カレントディレクトリにあるソースファイル *.c とヘッダファイル *.h のタグ情報をまとめて作成することができる。デフォルトではカレントディレクトリに TAGS というタグ情報を書いたファイル(タグテーブル)が作成される。

タグ情報を作成した後、そのタグテーブルを emacs に教える必要がある。

ESC x visit-tag table
デフォルトで TAGS になっているので多くの場合、そのままリターンキーを押せば良い。

タグジャンプ機能を使うには、

ESC .   (find-tag,括弧内はコマンド名)
で検索したい関数定義の関数名を入力する。あらかじめカーソルを関数上に於いておくと、それがデフォルトになるので便利。関数名を指定してリターンキーを押すと関数定義が書かれたファイルが開かれ、関数定義の位置にカーソルが移動する。戻るには、
ESC *
とする。
C-x 4 .   (find-tag-other-window)
とすると、画面が上下に分割されて関数定義はもう一つのウインドウに表示される。もし、複数の関数定義が存在する場合には
ESC ,
でファイル名の順に検索する。

タグテーブルを利用して複数ファイルに渡る検索置換なども便利に行うことができる(この検索は関数名に限らず一般の文字列に適用される)。

ESC x tags-search
というコマンドを実行すると正規表現を入力することができ、ここで指定した文字列をタグテーブルに含まれる全てのファイルから順に検索してくれる(普通の検索コマンドでは一つのファイル内でしか検索してくれない)。

検索だけでなく置換を行いたい場合には、

ESC x tags-query-replace
とする。タグテーブルに書かれているファイル名全てに渡って確認置換することができる。 例えば、fprintf を除外して printfだけを検索したい時は C-u を付けると良い。
C-u ESC x tags-query-replace
これは普通の query-replace-regexp コマンドでも使える。

文字コードを指定してファイルを開きたい

作成日:2003.8.25

文字コードを指定してファイルを開くには、emacs上で

C-x C-m c "文字コード"<RET>
C-x C-f "ファイル名"
とする。

Emacs上でコンパイルを実行したい

作成日:2003.8.15

emacs上でプログラムをコンパイルするには、

ESC x compile
と打つ。デフォルトでは、
Compile command: make -k
となっているので make を使うならリターンキーを押すだけでいい。オプション -k は、あるターゲットでエラーが発生しても、他のターゲットの構築は続けるためのオプション。

このコンパイルコマンドを例えば ESC p に割り当てるならば、

(global-set-key "\M-p" 'compile)
と ~/.emacs に書いておく。

コンパイルをして、エラーメッセージの出た行に飛ぶには、

C-x `
とする。

動的略称展開を使いたい

作成日:2003.7.29

長い単語などを途中まで打って,

ESC-/
と押すと,そのバッファ内から同じつづりの単語を探して来て,補完してくれる。

バックアップファイル・オートセーブファイルを作成しないようにしたい

作成日:2003.2.23

ファイルを編集してセーブすると、ファイル名に ~ を付けたバックアップファイルが作成される。 このファイルは、一つ前にセーブしたファイルと同じ内容。バックアップファイルを作成したくないときは .emacs に

(setq make-backup-files nil)
と書いておく。

また、ファイルを編集中に自動的にセーブする機能がemacsには付いている。このファイルは #filename# という名前でセーブされている。ファイルが正常にセーブされた時にはこのファイルは削除される。この機能が必要なければ、

(setq auto-save-default nil)
と書いておく。

X-Symbol使いたい

EmacsでLaTeX書類の作成を行う時に入力支援をしたり、ギリシャ文字、上付き下付きなどをグラフィカルに表示してくれるパッケージ。

本家のサイトから x-symbol-4.43-pkg.tar.gz をダウンロード。適当なところで展開。次に安宅氏のサイト(リンク切れ) からパッチをとってくる。 パッチは、

Makefile.xsymbol
x-symbol.diff
の2つ。 これらのパッチを適用する。
% cd x-symbol-4.43-pkg
% patch -p1 < x-symbol.diff
次に、Makefile.xsymbol のを開いて、次のように書き直す。
PREFIX = /sw
そして、Makefile.xsymbolをx-symbol-4.43-pkg/Makefile.xsymbol に置いて、
% make -f Makefile.xsymbol
% sudo make -f Makefile.xsymbol install
を実行。 そして.emacsに次のように書いておく。 (http://x-symbol.sourceforge.net/news.html を参考に。)

;;--------------------------------
;;  X-Symbol mode customization
;;--------------------------------
(defvar x-symbol-root-directory (expand-file-name "/sw/share/emacs"))
(defvar x-symbol-lisp-directory
        (expand-file-name "site-lisp/x-symbol" x-symbol-root-directory))
(setq load-path (cons x-symbol-lisp-directory load-path))
(setq x-symbol-data-directory
      (expand-file-name "etc/x-symbol" x-symbol-root-directory))
(load (expand-file-name "auto-autoloads" x-symbol-lisp-directory))
(x-symbol-initialize)

▼参考サイト or 参考文献

Emacsのバージョンを調べたい

作成日:2003.1.25
ESC x emacs-version

emacsでタブ、行末の空白、全角空白に色を付けたい

作成日:2002.9.14

.emacsに次の様に記述する。

(defface my-face-b-1 '((t (:background "gray"))) nil)
(defface my-face-b-2 '((t (:background "gray26"))) nil)
(defface my-face-u-1 '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)

(defadvice font-lock-mode (before my-font-lock-mode ())
  (font-lock-add-keywords
   major-mode
   '(("\t" 0 my-face-b-2 append)
     (" " 0 my-face-b-1 append)
     ("[ \t]+$" 0 my-face-u-1 append)
     )))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)

▼参考サイト or 参考文献

ツールバー、メニューバーを消したい

作成日:2002.9.14

.emacs に次のように追記する。

;メニューバーを消す
(menu-bar-mode -1)
;ツールバー(アイコン)を消す
(tool-bar-mode -1)

起動中に表示の ON OFF を切り替えるには、それぞれ

M-x menu-bar-mode
M-x tool-bar-mode
と打てば良い。

flyspell.el を使ってインタラクティブにスペルチェックしたい

作成日:2002.9.14

(2011.9.5)以下の情報は古いので注意。flyspellはEmacsに同梱されているようです。

flyspellではispellを用いるので、あらかじめインストールしておく。Mac OS XのパッケージマネージャーFink を使うなら、

% fink install ispell
としてインストールできる。 flyspell.el は http://kaolin.unice.fr/~serrano/emacs/emacs.html(リンク切れ) から取得できる。このファイルをパスの通ったところに置き.emacsには次のように追記する。
(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checking" t)
(setq ispell-parser 'tex)
一行目は、flyspell を読み込むため。二行目は TeX のコマンドをスペルチェックしないようにするため。モードを起動するためには emacs から、
M-x flyspell-mode
と打てば良い。マウスの中ボタンクリックで、スペルの修正や辞書登録ができる。

▼参考サイト or 参考文献

SDICをインストールして英辞郎などの辞書データを閲覧する

作成日:2002.8.26

SDICというemacs-lispを使って、無料の辞書データのいくつかをemacsから閲覧することができる。SDICは土屋 雅稔氏によって開発され、次のウエブサイトから取得できる。

英和辞書を組み込む

sdic-2.1.3.tar.gz が最新版。また、辞書データは、次のところから取得できる。

英和辞書(eijirou):英辞郎ウエブサイト

和英辞書(jedict):英和辞書を読む(オリジナルはEDICT Project

英辞郎の辞書データは分割されているので、合体させて、SDIC形式に変換。

% cat eiji54ad.txt eiji54ej.txt eiji54kp.txt eiji54qz.txt > eiji54all.txt
% nkf -SXe eiji54all.txt | perl eijirou.perl > eijirou.sdic
% sudo mkdir /usr/local/share/dict
% sudo cp eijirou.sdic /usr/local/share/dict/

eijirou.perl は、

sdic-2.1.3/contrib/eijirou.perl

にある。

SDICのコンパイルは以下の通り。

./configure
make install
make install-info
make dict
make install-dict

.emacs には

sdic-2.1.3/lisp/sample.emacs

の中身を書き写しておく。また、JEDICTを読ませるために、.emacs の中に

(setq sdic-waei-dictionary-list
    '((sdicf-client "/usr/local/share/dict/jedict.sdic")))

を書いておく。使い方は、C-c w と押して、単語を入れれば良い。M-x sdic でも良い。

▼参考サイト or 参考文献

emacs-lispファイルの検索パスの指定

参考:千葉大松田氏のウエブサイト

emacs-lisp ファイルを自分のホームディレクトリに置きたい時には,そこにパスを通す必要がある。例えば

~/Library/emacs-lisp/

に置く事にする。この場合 .emacs.el に次のように書いておく。

(setq load-path (cons "~/Library/emacs-lisp/" load-path))

複数のディレクトリを追加したい場合には,次のように書くと良い。

(setq load-path
(append '("~/Library/emacs-lisp/" "~/lisp/" "~/temp/emacs-lisp/")
    load-path))

OSXクリップボード内容をEmacsに取り込む

作成日:2002.4.20

引用元を忘れてしまいました。以下、引用です。(作者の方,すみません。)

クリップボードにある内容を ~/clipboard.txt に書き込み,それをemacsで読み込む。 .emacs に次の emacs-lisp を追加する。ESC-V でペーストできるようになる。

(global-set-key "\M-V" 'paste-from-mac)
(defun paste-from-mac()
   (interactive)
   (shell-command "pbpaste > ~/clipboard.txt")
   (insert-file "~/clipboard.txt"))

(2003.8.16追記)逆に、xtermやemacsからOSXのアプリケーションにペーストするには、xclipboardを経由する。

% xclipboard &

で起動し、xtermなどから xclipboard にコピーする。そして xclipboard上のテキストを選択した後に、OSXのアプリケーションにペーストすれば良い。(追記ここまで)

ispellで日本語交りの文章でスペルチェック

作成日:2002.4.14

参考:TeX Q & A

.emacs に

(eval-after-load "ispell"
  '(setq ispell-skip-region-alist (cons '("[^\000-\377]")
    ispell-skip-region-alist)))

と記述しておくと、日本語混じりの文章のスペルチェックもできる。

emacsのフォント設定

作成日:2002.4.14

Emacsのフォントを設定するためには、まず始めにフォントセットを作る。このフォントセットは、

半角英数字フォント(ascii)
全角漢字(japanese-jisx0208.1983)
半角かな(japanese-jisx0201.1976)

から成る。それぞれのフォントセットには自由に名前を付けることができる。例えば、12ピクセルの要町フォントから成るフォントセットを作成するには ~/.Xresources 又は ~/.Xdefaults に次のように書く。

Emacs.Fontset-0: -*-fixed-medium-r-*--*-*-*-*-*-*-fontset-kaname12,\
  ascii:-*-fixed-medium-r-semicondensed--13-*-*-*-*-*-iso8859-1,\
  japanese-jisx0208.1983:-mnkaname-fixed-medium-r-normal--12-110-75-75-c-120-jisx0208.1983-0,\

まず初めの「Emacs.Fontset-0」は、これがフォントセットの定義であることを示している。数字の0の部分は、0以上の連続した整数を書かなければ成らない。数字が連続していないと、それ以降は無視される。次の「:」の右には、フォントセット名を書く。

-*-fixed-medium-r-*--*-*-*-*-*-*-fontset-kaname12

1から12項目までは、下に並べるフォント名を全て含むように指定する。ただし、13項目は「fontset」と書く。また14項目は任意の英数字列である。

フォントセットを定義したら、どのフォントセットを使うのかを記述する。Emacsで使用したいフォントセット名を指定するには .Xresources 又は .Xdefaults に

Emacs.font: -*-fixed-medium-r-*--*-*-*-*-*-*-fontset-kaname12

または、

Emacs.font: fontset-kaname12

のように書けば良い。一般に、フォント名は、

% xlsfonts

として出てくるフォント名を書けば良いが、様々な環境で汎用的に使える ~/.Xresources にしようと思えば、最低限の部分だけ項目を指定して後はワイルドカード "*" ににておくと良い。その場合は、適当なものが選ばれる。どのフォントが選ばれるかは、

% xfontsel

で確認できる。もしフォント名を指定しなければ、フォントセット名から適当なフォントが選択される。

フォント名の指定で、次の所を

ascii:-*-fixed-medium-...

TABでそろえようとして、

ascii:<TAB>-*-fixed-medium-...

としたらエラーになったので注意。

no windowモードのemacsを新しいkterm上で開く

作成日:2002.2.16

kterm で -e オプションをつけて起動する。

kterm -e emacs &

emacs20.7.1でycを使って日本語変換すると画面がチカチカする

作成日:2002.2.16

Fink で入れた、 emacs 20.7.1 をXモードで起動することができるが、 yc で日本語入力をするときに、変換対象文字の色を変えるように設定していると、その色替えのせいで画面がチカチカする。なので、色替えをしないように、

(setq yc-use-color t)

をコメントアウト。また、

(setq yc-use-fence t)

として、フェンスを付けるようにした。

コマンドラインでemacs-lispのバイトコンパイル

作成日:2002.2.16
% emacs -batch -f batch-byte-compile yc.el

YCを用いているときに単語登録する

作成日:2002.6.8

単語登録をするには、変換中に C-t を入力するか、または変換していない状態のときに region を設定して

M-x yc-touroku-region

で単語登録する。

yc.el をインストールしてcannaで日本語変換

作成日:2002.1.28

yc.elのある場所:YCの部屋

上のリンクから、yc.el-3.3.4.gz をダウンロードしてきます。これを展開後、名前を yc.el にしてさらに、バイトコンパイルして yc.elc を作っておきます。これを、例えば、

/usr/local/share/emacs/site-lisp/

に置いておきます。.emacs には、次のように書いておきます。

;;YCの設定------------------
;フェンスモードで使用可能にする
(load "yc")
;ANK-漢字変換を有効にする
(global-yc-mode)
;変換中に色を付ける
(setq yc-use-color t)
;Xモードでなければフェンスを付ける
(setq yc-use-fence (not (eq window-system 'x)))
; ???
(global-set-key "\M-\ " 'yc-mode)

文節の伸縮が、C-i, C-o に対応していますが、kinput2が起動していると、C-oは日本語入力の起動になってしまいます。YCを使うときは、kinput2は必要ないので、起動しないか、kill しておくと良いです。

タイピング練習ソフト trr のインストール

作成日:2002.1.24

ソースコードの場所:Software Distribution
マニュアル:TRR19 マニュアル for version 1.0

上のリンクからソースコードを持ってきて、展開します。

% tar zxvf trr19.tar.gz

展開されたディレクトリ(trr19)の中にある Makefile を次のように編集します。(編集所するところだけ書いてます)

# Your Full name or E-mail address
installer = hoge@hoge.com
# Default message type (t or nil)
japanese = t
# Where TRR directory is found
trrdir = /usr/local/lib/emacs/site-lisp/trr
# Where info files go.
infodir = /usr/local/info
#infodir = /usr/local/lib/emacs/info
# Where TRR binary files go.
bindir = /usr/local/bin

上から、自分のメールアドレス、説明を日本語にするか(t)英語にするか(nil)、trr.elc 等を入れるディレクトリの位置、info ファイルを入れるディレクトリ、trrのバイナリファイルを入れるディレクトリ、です。

次に、trr.el.base を trr.el という名でコピーして、trr.elを編集します。

(defconst TRR:default-directory "/usr/local/lib/emacs/site-lisp/trr"
"*Default directory for TRR elc files.")
(defconst TRR:default-bin-directory "/usr/local/bin"
"*Default directory for TRR binary files.")
(defconst TRR:default-japanese t
"* if t, TRR displays its messages in Japanese by default.")
(defconst TRR:installator "hoge@hogehoge.ac.jp"
"instllators name or e-mail address")

上から、trr.elc 等を入れるディレクトリの位置、trrのバイナリを入れるディレクトリ、説明を日本語にするか(t)英語にするか(nil)、自分のメールアドレス、です。

そして、

% make all
% sudo make install

として *.el のemacs-lisp ファイルをバイトコンパイルし、インストールします。

タイピングで使いたいテキストファイルは、

/usr/local/lib/emacs/site-lisp/trr/text/
に入れておきます。(2003.4.23 <注> /use/local/share/emacs/site-lisp/* の場合もある)

そして、

/usr/local/lib/emacs/site-lisp/trr/CONTENTS
そのテキストの情報を書き込んでおきます。

あとは ~/.emacs に

(autoload 'trr "/usr/local/lib/emacs/site-lisp/trr/trr.elc" nil t)

と書いておけば設定終了です。

起動するには、M-x trr と打ちます。

画面のリフレッシュ:C-l
終了:C-c

拡張子に関係なく、ファイルをFortranモードで開くようにする

例えば、ヘッダファイルを hoge.h にようなファイル名にするとemacsは C-mode 開きます。 M-x fortran mode RET で変更しても良いのですが、そのファイルの先頭に、

C -*- fortran -*-

と書いておきます。(先頭のCはfortranファイル中でコメントアウトするため。)

その他のモードにするときも同様に書けばいいです。(// -*- c++ -*- とか。)

.emacsを読み込まずにemacsを起動する

作成日:2002.1.6

起動時に q オプションを付ける。

% emacs -q

デフォルトの文字コード、改行コードの設定

作成日:2002.1.5

デフォルトの文字コードをEUC-JP、改行コードをLFにするには、 .emacs に次のように書いておく。

(set-default-coding-systems 'euc-jp-unix)

文字コードや改行コードの変更方法

作成日:2002.1.5

まず、

M-x set-buffer-file-coding-system

又は、

C-x RET f

とすると、下に

Coding system for visited file (default, nil):

と出るで、

文字コードをEUC-JP、改行コードをLFにするなら、:euc-jp-unix
文字コードをShift_JIS、改行コードをCRにするなら、:sjis-mac
文字コードをJIS、改行コードをLFCRにするなら、:old-jis-dos

等とすればよい。tabキーによる補完が効くのでそれを用いると良い。

ispellをemacsで使うためにispell.elを導入

作成日:2002.1.4

最新版 ispell.el-3.5 (Released:11-Jul-01)をIspell.el Homeから取ってくる。これを例えば、

/usr/local/share/emacs/21.0.103/lisp/textmodes/ispell.el

に置く。(<2002.9.13追記> パスが通っているところならどこでも良い。)初めから置いてあったならば、それが古ければ置き換える。さらにこの emacs-Lisp ファイルをバイトコンパイルする。 emacs で開いて、メニューバーの Emacs-Lisp から "Byte-compile This File" を選択するか、

M-x byte-compile-file

とすると拡張子 *.elc の中間コードファイルが出来る。(バイトコンパイルはしなくても良い)これを emacs に読み込ませるには、.emacs

(load-file "ispell")

と書いておく。

<2002.9.13追記>起動時に読み込ませるのではなくて、使う時に読み込ませようと思うなら、

(autoload 'ispell-buffer "ispell" nil t)

とかいておく。するとM-x ispell-buffer と入力した時に読み込まれる。

モードの変更

作成日:2002.1.4

例えばTeXモードに変更する場合、

M-x tex-mode

その他、fortran-mode, c-mode, c++-mode, text-mode, yatex-mode 等。

.f だけでなくて、他の拡張子でも FORTRAN mode で起動させたい

たとえば .f90 もFORTRAN モードでemacsを起動させたいならば、.emacsに次のように書いておく。
情報元は、「FAQ & ANSWERS

(setq auto-mode-alist
(append auto-mode-alist
(list '("\\.f90$" . fortran-mode))
))

FORTRANモードなどでキーワードに色をつける

作成日:2001.11.23

.emacs に次のように書いておきます。情報元は、このリンク

(cond (window-system
(require 'font-lock)
(global-font-lock-mode t)))

動作確認 GNU Emacs 21.0.103.1

行番号、列番号を表示させる

作成日:2001.11.13

.emacs に、次のように書いておきます。情報元は、「Meadowの設定方法」です。

(line-number-mode t) ; 行番号をモードラインに表示する(TRUE)
(column-number-mode t) ; 列番号をモードラインに表示する(TRUE)

行間を広げたい

作成日:2001.10.4

動作確認 GNU Emacs 21.0.103.1

% emacs -lsp 2 test.tex

とすると、2pixelぶんだけ行間が開く。

Carbon Emacsにmmm-modeをインストールする

作成日:2011/9/3
環境:Carbon Emacs 1.6.0

mmm-modeはPHP-modeとHTML-Helper-modeを組み合わせるモードで、HTML部分はHTMLHelper-modeによる色付け、PHP部分はPHP-modeによる色付けを行うことができる。カーソルの位置がどこにあるかでモードが切り替わる。

Carbon Emacsのsite-lispは

/Applocations/Emacs.app/Contents/Resources/site-lisp/
にあるので、mmm-modeのemacs lispファイルもここにインストールする。

現時点の最新版はmmm-mode 0.4.8なのでmmm-mode-0.4.8.tar.gzを取得する。 そして展開からコンパイル、インストールまで次の手順で行う。

$ tar zxvf mmm-mode-0.4.8.tar.gz
$ cd mmm-mode-0.4.8/
$ EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs \
> ./configure --with-lispdir=/Applications/Emacs.app/Contents/Resources/site-lisp
$ make
$ sudo make install
インストールが終われば、初期設定ファイル~/Emacs.elに次のように記述する。
;; mmm-mode用の設定
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(set-face-background 'mmm-default-submode-face nil)
(mmm-add-mode-ext-class nil "\\.php?\\'" 'html-php)
(mmm-add-mode-ext-class nil "\\.cont?\\'" 'html-php) ;拡張子が.contのファイルもmmm-mode
(mmm-add-classes
  '((html-php
  :submode php-mode
  :front "<\\?\\(php\\)?"
  :back "\\?>")))
(add-to-list 'auto-mode-alist '("\\.php?\\'" . html-helper-mode))
(add-to-list 'auto-mode-alist '("\\.cont?\\'" . html-helper-mode))
この設定では、拡張子が.phpのファイルをhtml-helper-modeで開き、 カーソルが<?phpと?>の間に来たらphp-modeに変更される。

PHP-modeのインストール

作成日:2012.1.6

PHP-modeのプロジェクトサイトからphp-mode-1.5.0.zipを取得する。ファイルを解凍するとなかにphp-mode.elが含まれている。

php-mode.elは次のようにバイトコンパイルしておく。

$ emacs -batch -f batch-byte-compile php-mode.el
そして、Emacsが読み込むsite-lispディレクトリに入れておく。
$ cp php-mode.el php-mode.elc /usr/share/emacs/site-lisp/
~/.emacs.elには次のように書き込む。
(load-library "php-mode")
(require 'php-mode)
以上で設定終了。

HTML-helper-modeのインストール

HTML helper mode betaのウェブサイトから、 html-helper-mode.elとtempo.elを取得する。 必要ならバイトコンパイルし、site-lispディレクトリに入れる。

$ cp html-helper-mode.el tempo.el /usr/share/emacs/site-lisp/

~/.emacs.elには次のように追記する。

(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))