Hatena::ブログ(Diary)

Alone Like a Rhinoceros Horn

2008-02-25

エディタ選び再考

半年前はかなり emacs にこだわっていた。設定ファイル(.emacs)はかなりの量(5k)になり、elisp パッケージもガンガン入れた。emacs で理想の開発環境を作ろうとしていた。

現場では emacs が使えないらしいと聞いた。「vim に乗り換えよう、これからは vim だ」と思った。

現場の vivim ですらなかった。アンドゥは1回しかできなかった。

エディタはあるものを使えばいいと思った。


こんな経緯で、エディタに対するこだわりみたいなものが薄れてきた。エディタは○○じゃなきゃ嫌だ! みたいな拘泥はもうない。emacs でも vi でも、IDEエディタでも TeraPad でも、環境と用途(言語)に応じ、適当なものをそこそこに使えればいいんでない? が今のスタンス。

道具は道具として、もっとドライに接しようと思ふ。*1

後、前にも書いたような気がするが、emacsvi の設定に凝り過ぎるのはやめよう。最低限必要な設定項目を洗い出して、設定ファイルの記述量を可能な限り少なくするように心がける。

現場によっては、ネット不可、記憶メディア持込禁止なところもある。そんなところで emacsvi を使うことになった場合でも、普段の設定を手作業でぱぱっと再現できるようにしておくのだ。

そのためには、理想の環境を追求し過ぎないこと。そこそこに便利な設定に仕上げたものを、上手に使うようにすることだ。

*1emacs vs vi の宗教戦争にはもはや参加できなくなった(笑)

2007-10-22

SAKURA に Emacs をインストール

昨日の続き。

結局、昨日はあの後 EmacsインストールCVS から Subversion への移管、さくら上に HOME 構築、までをやった。外付けHDDLinux を入れようとしたことから始まって、そんなこんなで一日が終わってしまった。

しかし、どこからでもリモートログインして利用できる UNIX環境(FreeBSD)がまたひとつできたのは嬉しい。後は、HOME 以下の設定ファイル、site-lisp、自作プログラム、サンプルコードの類をすべて Subversion の管理下におき、どこへでもチェックアウトできる態勢を整えれば……

(゚д゚)ウマー

という感じかな。

さくらへの Emacsインストールでは以下を参考にしました。ありがとうございます。

2007-10-18

端末内での生活

ここ数日、Meadow を使っていない。端末エミュレータを介してリモートログインした Linux上の emacs -nw が新たな居場所(笑)である。

ウィンドウシステムなしの環境でも起動できるようにしたし、権限がなくて site-lisp にファイルを追加できない場合に備えて、$HOME 以下に配置した自分用の site-lisp がロードされるよう手はずも整えた。少しずつ、「使える」状態になってきた。

今、戦に備えて刀を研いでいるような状態。
道具のお手入れ中。

後は、色関係、視覚効果に関する部分だな。
メニューバー、モードラインが背景色と同じで分かりづらい、括弧の対応を示すための視覚効果が(ON になっているはずなのに)見えない、範囲選択されている部分がわからない(背景色が変わらない)、など。

多分、face まわりの設定がうまくないんだろうな。face まわりの設定箇所を (when window-system とかやっていたかも知れない。確認が必要。

global-font-lock-mode によるシンタックスハイライトもちょっとなあ……
基本的に色は青だけで、それに下線が付いたりとかしてかなりクドイ。環境変数 TERM が dumb なのがよくないとみた。(というか、今わかった。TERM を適切に設定してやれば、エスケープシーケンスが使えるようになるから、使える色が増えるんではと予想)

後、端末内に表示されるメニューバー、あれどうやって使うんだ? → マニュアル

2007-10-13

キー割当ての再考が必要

Meadow に依存していた .emacs をあれこれ修正し、端末上の emacs とも共用できるようにしたが、使い勝手の点では色々と問題が発生。

自分の場合、

  1. C-SPC で hippie-expand
  2. C-:、C-] でバッファ切り替え
  3. C-/ でアンドゥ

というキー割当てでずっと Meadow を使ってきて、手の方も完全にそれになじんでしまっていたのだが……

1、は Meadow で C-@ と C-SPC が区別されることに依存している点がダメだった。端末上の emacs では C-SPC ⇒ C-@ なので、この場合 hippie-expand が使用不可になる。hippie-expand による略語展開がないとやってられない自分としては、ここはどうにかしないといけない。hippie-expand に新たなキーを割り当てるか、もしくは set-mark-command の方を動かすか。

Meadow では set-mark-command なんてほとんど使ってない*1んだけど、端末上では逆にこれがないと範囲選択できないから、やはりこれも1ストロークで打てるキーに割り当てておかないとダメだろうし、うまい割当てを考えないといかん。

2、3、に関してはそもそも認識されない環境がある、ということを考慮すべきだった。端末上の emacs になった途端これらの操作が1ストロークでできなくなってしまった。これらの操作に関しても、環境に依存しない1ストロークキー割当てを再考する必要がある。

結局、特定の環境では使用できない、あるいは認識されないキーに依存したキー割当てになっていたということ。Meadow から外に出ないのであればそのままでもよかったが、そうはいかないということ。

Meadow依存、環境依存を少しずつ排除していこう。

*1:マウスで範囲選択するヘタレだから(笑)

2007-09-29

変換キーに右シフトを割り当てる for SKK

SKK で日本語入力にシフトキーを多用するようになると、右側のシフトキーが遠過ぎることが気になり出した。使用頻度に比してあまりに遠く、打ち辛い位置にあるので、思い切って変換キーを右シフトにしてみたところ、これがなかなかいい感じ。

これなら、慣れ次第でそこそこ速く打てそう。

これまで使ってきた他の IM*1とは根本から違うので、使ってみると新鮮で面白いです、SKK。
なんか打ってて楽しい。脳に心地のよい刺激という感じ。

どうやら、よいものに出会えたみたいです。
塞翁が馬。

*1:ことえりとか、MS-IME とか、形態素解析を行うもの。

2007-09-27

SKK を使ってみる

SKK のチュートリアルをやってみた。

なるほど、こんな風になってんのか> SKK
かな、カナ、漢字、アルファベット、と一通り文字を入力できるようにはなったが、慣れてないせいかやっぱり入力スピードはガタ落ちになる。

シフトキーの多用は慣れればなんとかなるにしても、かな、カナ、英数とモードを切り替えながらの入力が煩わしい。これじゃ ことえり や Microsoft IME で達成していた入力スピードと同等の速度で打つのはどうも無理くさいな、俺には。

ううむ。
辞書を鍛えればどうにかなるか?

自分の場合、よく使う英単語はほぼ全部 IME の辞書に登録*1してあって、英数字を打つからといっていちいち IME を OFF にしないのだが、同様に SKK の辞書にもカタカナ語、英単語をひたすら登録すれば、入力途中でのモード切り替えなしで打てるようになるかも。

IME のユーザー辞書を SKK の辞書に変換できれば (゚д゚)ウマー かも知れんな。

*1:例えば、「ふぉとしょ」が「PhotoShop」に変換されるようにしてあるとか。

2007-09-21

自動保存の間隔を短く

最近 Meadow がよく落ちる。Meadow/Emacs memo 通読ツアー前はこんなことはなかったので、どうやら site-lisp にあれこれ放り込んだ elisp の中に、Meadow の動作を不安定にするものがあったようだ。もしくは、お互いに干渉しあう elisp があるのかも。

原因を突き止めたいところではあるが、致命的というほどでもないので、とりあえず自動保存の間隔を短くすることで対処。いざ Meadow が落ちたとしても、再起動後に M-x recover-this-file で自動保存ファイルから確実に復旧できるようにしておく。

自動保存の間隔を指定する2つの変数の値を、それぞれデフォルトの 3分の1 に設定

(setq auto-save-default t)
(setq auto-save-interval 100)
(setq auto-save-timeout 10)

変数 auto-save-interval には自動保存発生までの打鍵数を指定し、変数 auto-save-timeout には自動保存発生までのアイドル秒数を指定する。


上記の auto-saving の機能ではなく、タイマーを使用して文字通りの「自動保存」を行う方法もあるが、今回は見送り。*1

*1:実は一度導入したんだが、ファイルが勝手に保存されるのがなんか気持ち悪くてやめた (^^;)
.emacs にてコメントアウトの保留状態。

2007-08-04

Meadow/Emacs memo 通読ツアー終了

やっと終わった……

ツアー開始が先月の 7日だから、もうかれこれ 1ヶ月。リアルライフでの引越しを間にはさんでいたとはいえ、かなりの時間を要してしまった。

あれやこれやと elisp パッケージを site-lisp に放り込んでいくうち、.emacs と ~/elisp/*.el がどんどん膨れ上がり、最終的には以下のようなことになった。*1

.emacs の行数

f:id:h1mesuke:20090222151208p:image

~/elisp/*.el の行数

f:id:h1mesuke:20090222151209p:image


うへぇ。

.emacs が 2600行とか……

~/elisp/*.el と合わせた設定ファイル群の総行数は約5600行にもなる。ほとんどコピペだけど、なかなか壮観だー。

導入したパッケージ、あるいは使用可能にした標準機能などを一覧にしようかと考えていたが、30 を越えた辺りででめんどくさくなってやめた (^^;)

起動にはそれなりに時間がかかるようになったものの、一通りの定番パッケージを導入したことで、機能的にはかなり強化された。いい感じに凶悪になってきた。


とりあえず、これで第1次整備計画は終了。

この後、リモートファイル編集のための tramp、補完/展開系リーサルウェポン(?)な icicles*2、つい最近話題になってた flymake あたりに手を出してみるつもり。


……って、そろそろエディタを使って「なに」を書きたいの? って方の勉強にシフトしていかないとやヴぁい。なんという本末転倒っぷり……

┐(´д`)┌ヤレヤレ

*1:途中、グラフが平坦になっている箇所は、引越しの準備などで忙しかった週。

*2:まだよくわかってない。

2007-07-26

右Ctrl、右Meta の位置を模索する

現在、Ctrlキー、Metaキーともに左側の方しか使っていない。Ctrlキーは A の左(CapsLock)で、Metaキーはスペースの左(無変換)に割り当てているんだが、最近ちょっと気になり出したのは、

Ctrlキーも Metaキーも、右側にある方も使った方がよくね?

ということ。Shiftキーなんかは左右両方を使い分けるのが普通なんだから、Ctrlキーや Metaキーについても、その方が自然なんじゃないかと思うわけ。

例えば、Emacs でカーソルを行頭に戻したいとき、普通 C-a とやるわけだけど、左の Ctrlキーしか使わないとなると、Ctrl は小指で押すわけだから、A は薬指で押すことになる。C-x も、Ctrl を小指で押して X を薬指というのはかなりしんどいので、X は中指になったりする。各指の対応がタッチタイピングのセオリー通りにはいかなくなるので、ちらちらキーボードを見る必要が生じ、編集作業の能率が低下している(気がする)……

大文字の A を打つとき、普通は右の Shiftキーを使うように、左手で打つキーと組み合わせるなら、右の Ctrlキー、Metaキーを使う方がいいのではないか?

そんな風に思うようになってきたわけだ。

そもそも、なんで Ctrlキーと Metaキー(Altキー)は左側しか使わないようになったのかというと、右側の Ctrl と Meta、どっちも押しにくい位置にあるからなのだが、それはキーボードユーティリティでどうにでもできるし、ここらで右の Ctrlキー、Metaキーの最適な位置というものを模索してみようと思う。もしかしたら、C-a とか C-x とかを押すときの、「なんか指使いに無理がある」感、が解消されるかも知れないし。

左の Ctrlキー(A の左、小指)と Metaキー(無変換、親指)はそれでいいとして、右の Ctrlキーと Metaキーをどこに持ってくるかだが……

  • スペースキーは左の親指で叩くので右の親指がヒマ
  • 左 Ctrl に対応する位置には Enter があり、ここに右 Ctrl を持ってくるのは無理

などの理由から、右の親指で叩けるキーがいいのではないかと思い、とりあえず、

  • 変換 → Ctrl
  • カナ → Meta

を試してみることにした。IME の ON/OFF を変換キーに割り当てていたが、それは 右 Windows キーへ移動。*1

しばらくこれでやってみて、今までより快適になれば成功。

追記

小指を使う Ctrlキーと違い、親指を使うんなら、Metaキーは左だけでも困らないっぽい。ということで、変換は IME の ON/OFF に戻し、カナ → Ctrl としてみた。

*1:やってみたらあまり使いやすくなかった (^^;)

2007-07-15

keisen-mode 打開、sref → aref

keisen-mule.el を導入したが、keisen-mode がうまく動かない。なんだと思って調べてみると、「sref というシンボルには関数の定義がバインドされていない」というようなメッセージが。ググって調べると、

mail.wanderlust.general.japanese Archives - Re: sref in filename.el

> CVS 先端の emacs (と Meadow-3.00) では, sref の定義が削除されてし

> まっているので, 対応する必要があると思いますが, 単に aref に置き換

> えてしまって問題ないでしょうか?

 

(中略)

 

一方、最近まで sref が aref への alias だったように、きちんと書

かれた sref を使うコードを、上位の Emacs では aref に置き換えて

しまうことは可能です。

なるほど。
sref という aref によく似た関数が obsolete になったということらしい。

(unless (fboundp 'sref) (defalias 'sref 'aref))

(if window-system
    (autoload 'keisen-mode "keisen-mouse" "MULE 版罫線モード + マウス" t)
  (autoload 'keisen-mode "keisen-mule" "MULE 版罫線モード" t))

とやってみたら、うまく動いた。

参考