Emacsの使い勝手改善

VimEmacsの両方をつかっている。Emacsの方が断然カスタマイズはしやすい。まさにカスタマイズを前提としたエディタというか環境である。編集やファイル内の移動、検索/置換などの処理では、Vimに使い慣れているというのもあり、個人的にVimが好みである。


CorseraのSML以来、Emacsが好きになり、RubyEmacsでコーディングするようになった。Courseraの問題や自分のコードをBitBucketで管理していて、バージョン管理はMercurialである。


当初はgithub使おうとおもっていた。しかしながら、gitはいまいちWindowsと親和性がよくないような気がした(*1)。、そこで、Mercurialを使うことにした。そしてMercurialつかえるクラウドレポジトリは、、、と探してBitBucketを選んだわけです。Hg+BitBucketを使っているがこれが大変便利なのです。


しかし問題がないわけじゃなkった。


Emacsで編集後、毎回コマンドプロンプトからhg statやら、diffやらcommitやらするのが面倒であった。そこでaHgという拡張をいれ、以下のページを参考にキーバインドを変更してみたらかなりご機嫌な感じになった。


「EmacsでChangeSetベースのVCSと仲良くする」(菅原泰樹) — ありえるえりあ


(*2)キーバインディング一覧

キーバインド コマンド 説明
C-c h g ahg-status-refresh 状態を更新
C-c h m ahg-status-mark ファイルをマーク
C-c h u ahg-status-unmark ファイルをアンマーク
C-c h c ahg-status-commit マークしたファイルをコミット
C-c h U ahg-status-undo マークしたファイルを取消
C-c h = ahg-status-diff 差分を見る
C-c h D ahg-status-diff-all マークしたファイルの差分を見る
C-c h l ahg-status-short-log シンプルな履歴を表示
C-c h L ahg-status-log 履歴を表示
C-c h G ahg-status-glog グラフログを表示
C-c h a ahg-status-add マークしたファイルを追加
C-c h r ahg-status-remove マークしたファイルを削除

また、Rubyスクリプトを編集後動作検証のためコマンドプロンプトから実行するのも面倒だった。eshellで実行出来れば最高じゃん!と思ったのもつかの間、Rubyはポータブルに入れたものでPATHに入ってないためEshellからは呼び出せない。万策尽きかけたが、Googleで検索、そこで以下のページを発見。


dfltweb1.onamae.com – このドメインはお名前.comで取得されています。


こちらを参考にEshellのPATHに入れるようにしてみた。こちらもご機嫌だ。これでEmacsから離れずにかなりの事ができそうな気がする。



(*1) 2013/03/17 追記:gitはmsysGitがメジャーだとおもうのだが、msysとそのたもろもろがごちゃごちゃと入るのが煩わしいなあと思った。TortoiseGitもmsysGitが別途必要。github for Windowsでは、PowerShellで起動させるのが不慣れで気に入らなかった。


2013/03/17 追記:Ruby編集のため、ruby-electricを導入。(requrie ruby-electric 実ファイル名)でいちいちloadpathに追加しなくてもよいのが便利。パスにたくさん追加すると遅くなるのでは、と危惧している。参考は以下のページ。


(*2) 2013/04/06 aHgのキーバインディングを追記。設定したのに完全に忘れていた。


Emacs で Ruby 開発環境 - どんならんな および GNU Emacs Lispリファレンス・マニュアル: 13. ロード