emacs23でやった設定・覚えたこと

ようやく、emacsを使うのが楽しくなってきたかなと実感してきた。viもemacsもだけど、独自のキーバインドをマスターするための手間・労力はそれなりにあるし、マスターした先にどんな見返りがあるのかが分からないと、正直モチベーションを保ちにくいと思う。
僕はWindowsではずっと、十年近くサクラエディタだけを使い続けてきた。サクラエディタはそこそこ軽量で、まあまあリッチなテキストエディタで、Windowsでよく知られている秀丸と双肩する実力と知名度を備えている。かなり長期間使い続けてきたおかげで、サクラエディタにある便利な機能はそれなりに習熟しているつもりだし、それが作業効率の向上に貢献している実感もすごくある。それだけにUbuntuに乗り換えて、なんらかのテキストエディタサクラエディタ相当の作業効率を発揮できるかは、それなりに不安があるのだ。
一ヶ月近く、簡単な作業をemacsでやるように心がけながら、行った設定と覚えたことをまとめてみます。

バージョン・環境

以下の環境を前提としてます。

OS
Ubuntu 10.10
emacs
GNU Emacs 23.1.1

emacsUbuntuソフトウェアセンターからインストールしたもの。
そんなにヘビーなことはしていないというのもあるけど、今のところemacs関連の設定は「~/.emacs.d/init.el」にほとんど、一部「~/.Xresources」に書いてある程度。

日本語環境のために設定した

;日本語表示用の設定
; http://physics.s.chiba-u.ac.jp/~kurasawa/ubuntu.html
; まんまコピペ
(cond
(window-system (set-default-font "VL ゴシック-11")
(set-fontset-font
(frame-parameter nil 'font)
'japanese-jisx0208
'("VL ゴシック" . "unicode-bmp")
)))

;言語を日本語とする
(set-language-environment 'Japanese)

;極力UTF-8とする
(prefer-coding-system 'utf-8)

恥ずかしいんだけど、この設定をしないとどういう支障があるのか、はっきり理解してない。ただ、デフォルトのフォントはIPAゴシックになっていて、IPAゴシックだと全角1文字が画面サイズを文字数単位で指定するときの一文字に相当するようで、画面イメージがやや見苦しくなってしまった。回避方法はあるようだけど、調べてるとVLフォントを使っている人が多いみたいだから、僕もそうした。その程度。

mozcを使ってemacs上でインライン日本語入力する

emacsで日本語入力するには「C-\」で日本語入力のモードに切り替えられる。が、日本語変換としてはかなり使いにくい低レベルだったので、どうしようかなーと調べていたら、mozcにするといいとあっちこっちに書いてあった。Ubuntu上でもバカなAnthyを我慢して使い続けていたけど、これをmozcに切り替えると同時にemacsでも利用できるようにしてみた。

;mozc用に追加
;; load ibus.el
(require 'ibus) 
(add-hook 'after-init-hook 'ibus-mode-on) 
(ibus-define-common-key ?\C-\s nil) 
(ibus-define-common-key ?\C-/ nil) 
(setq ibus-cursor-color '("red" "blue" "limegreen"))

設定だけ書いているけど、ibus.elをあらかじめインストールしておかないとダメ。
あと、必要かどうかがよくわかっていないけど、「~/.Xresources」に以下の行を追記した。

Emacs*useXIM: false

emacs上、インラインでの日本語入力はこれですごく改善するし、快適になった。

行番号を出すようにする

画面左側の行番号を表示させておくために設定した。

;行番号を表示
(global-linum-mode t)

emacsで作業中に行番号表示有無を切り替えるときには、「M-x linum-mode 」でOK。「global-linum-mode」とすることですべてのバッファに適用される、だったかな。

シェルモード用の対応

emacs上でシェル操作するときには、「M-x shell」で。ただ、lsコマンドなどを実行したときにエスケープ文字だらけになってしまい、みづらい。調べるとすぐに対処方法が見つかった。

;シェルモードでのエスケープシーケンスへの処理
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

これでエスケープ文字ではなく、見やすい表示が可能になった。

Xとクリップボードを共有する

emacsUbuntuの他のソフトウェア間(Xウィンドウ)で、文字列のコピペなどはデフォルトだとできない。これも調べたら、設定で回避することが可能。

;X11とクリップボードを共有
(setq x-select-enable-clipboard t)

なんでもかんでもemacs内で完結できるレベルにないので、これはけっこう重要だった。

trampを有効にする

emacsで編集のために「sudo」を使わなければいけないファイルや、sshで接続した先のファイルを扱う場合は、「tramp」を使う必要がある。emacs23では最初から同梱されているから、設定で有効にしてやればそれでOK、とのことらしい。

;tramp有効にする。ssh/sudoでのファイル編集を有効に
(add-to-list 'load-path "/usr/share/emacs/23.1/lisp/net/")
(require 'tramp)

知らないと困るというか、特定のファイルを扱うときだけemacs以外のソフトとか、ちょっと変だよなと。

背景の透明度を設定

;背景と透明度を設定
(add-to-list 'default-frame-alist '(alpha . 90)) 

機能的にどうこうという話ではないけど、見た目があれこれいじれたほうが楽しく学べると思います。

<.Xresources> 画面サイズを設定

使っているPCの解像度が1366x768と縦方向が少ない。デフォルト(確か38)だとギリギリで見づらいことがあるので、画面サイズを調整することにした。

Emacs.geometry: 80x32+10+10

他にもカラーテーマを変えてみたり、Webブラウザw3mをインストールしてみたり、いろいろ試してる。いろいろできることや見た目を変えて楽しむことが早く習得するポイントのひとつかな、という感じ。
できれば、どこのサイトを参考にしたかなどを書けたらと思ったけど、何かひとつの設定をやるにしても、あっちこっちのサイトを部分的に参考にしながら進めることが多かったので、そのあたりがまとめきれない。
emacs関連の話は、Ubuntuでくくるより、emacsってカテゴリで進めたほうがいいかなと思ってる。