かわちょでぶろぐ

Visual Basic .NET を……、強いられているんだ! → 強いられなくなった! → ふたたび、強いられているんだ! → 転職!

.emacs.d 全部を Dropbox 同期させるのをやめて init.el だけにした

(ちょっと前の連休に遠出しなかったので、Cocoa Emacs の新しいバージョンを入れ直したり ~/.emacs.d/init.el の整理をした。)

今まで ~/.emacs.d/ 全体を Dropbox で同期させていた。

  • 複数の環境で同じ Emacs の設定を使いたい、同期させたい。
  • ダウンロードしてきた *.el を他の環境でも入れ直すのがめんどうなのでそれも同期させたい。

が、次の理由から、~/.emacs.d/ 全体でなく init.el だけ Dropbox に置いてリンクすることにした。

  • ~/.emacs.d/ には設定ファイル以外に、自動的に作られるファイルが多数あって自動的に同期されると逆に面倒。
    • ~/.emacs.d/auto-save-list
    • ~/.emacs.d/.session
    • などなど
    • これらを環境やバージョンごとにファイル名を変えたり ~.emacs.d の外に保存するよう変数の値を変えたりしてて、逆に管理が面倒になってきてた。
  • package.el や auto-install などのおかげで Emacs Lisp パッケージのインストールは簡単になってきたので、各環境ごとに入れ直すのが手間でなくなってきた。
  • また、各環境の Emacs バージョンの差によって同じパッケージバージョンではエラーになることが発生してきた
    • メジャーバージョンごとにパッケージのインストールフォルダは分けてたりしたけど、
    • cl-lib が必要かどうかとか Emacs 24.3 前後で違うのが出てきたし。

というわけで、Dropbox へのシンボリックリンクを作り直し。

今まで ~/.emacs.d/ 自体がリンクだったのをやめて、

~/.emacs.d/ --> ~/Dropbox/dot.emacs.d/
                            |-- init.el
                            |-- auto-install23/
                            |-- auto-install24/
                            |    :

これからは、~/.emacs.d/ 内の自分のファイルのみリンクに。

~/.emacs.d
   |-- init.el --> ~/Dropbox/dot.emacs.d/init.el
   |-- inits/  --> ~/Dropbox/dot.emacs.d/inits/
   |-- auto-install/
   |-- elpa/
   |     :
  • init.el を分割する場合は、init-loader を使い 1 ディレクトリにまとめて、そこを同期させればいいかな。今は使ってないやつを削りまくったので init.el だけにおさまっているが、Windows, Cocoa Emacs 固有の設定は分けておいた方が更新が楽かも。

Visual Studio 2013 に入れてる拡張

前に Visual Studio 2012 を試してたけど、かかえている案件はどれも 2013 で問題無さそうだったし、MS の開発環境アップデート速度アップについていかないといかんねーということで、2012 はとばして 2013 に移行済み。

Microsoft Visual Studio Professional 2013  通常版

Microsoft Visual Studio Professional 2013 通常版

.NET開発テクノロジ入門 2014年版 VisualStudio2013対応版 (MSDNプログラミングシリーズ)

.NET開発テクノロジ入門 2014年版 VisualStudio2013対応版 (MSDNプログラミングシリーズ)

  • 作者: 酒井達明,山田祥寛,小高太郎,中原幹雄,芝村達郎,和田健司,日本マイクロソフト株式会社エバンジェリストチーム
  • 出版社/メーカー: 日経BP社
  • 発売日: 2014/06/04
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る

2013 に入れている拡張(各種 SDK などは除く)をまとめておく。環境作り直すときの参考に。

Productivity Power Tools 2013

Unit Test Generator 拡張機能

ユニットテスト生成機能がVisual Studioに戻ってきた

Web Essentials

Ref12

  • とりあえず上記記事を見て入れてみた。
  • オブジェクトブラウザより、Web ブラウザで開いてくれた方がURLが手に入る=共有しやすい、ぐらいかなぁ。

2013 対応してねー

  • Dynamics CRM SDK の CRM Developer Toolkit とか

emacs-init-time

Emacs には初期化にかかった時間を表示する emacs-init-time というコマンドがある。『Emacs 実践入門』を読み返していて、そんなのもあったなぁと思い出したので、手元にある複数の環境で測ってみた。どれも 10 秒以内だった。新しい Emacs Lisp パッケージを全然入れていないな……。

  • メインの iMac では 5.7 seconds だった。
  • 仕事用 Windows PC や仮想マシン上の Windows では 2.4 seconds だった。Visual Studio での作業がメインなので、あんまりいじってない。

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Windows 8.1 に gnupack 11.00 で Emacs をインストール

Windows で Emacs 使うなら、今も gnupack が簡単でオススメらしい。

GNU公式などいろいろなバイナリパッケージが存在していますが、日本語環境ではgnupackで入れる方法が便利です。

gnupack のサイトを見て、最新版の gnupack 11.00(の basic の方)をダウンロード、インストール。Emacs only のパッケージもあるけど、Cygwin, Unix コマンドも使うので gnupack(Cygwin + Emacs) を。

  • gnupack Users Guide
    • ドキュメントに書かれているけど、日本語を含むパスにはインストールしないこと。

ホームディレクトリと設定ファイルのコピー

デフォルトではインストールしたディレクトリの下の home がホームディレクトリと見なされるので変更する。

%INST_DIR%\config.ini を開いて、HOME の行をコメントアウト(Windows の方で環境変数HOME を別途設定済みのため)

; -*- Mode: Conf-Windows ; Coding: sjis -*-

[SetEnv]
   ;_font_         = MS ゴシック
    _font_         = Migu 1M
    _local_        = %INST_DIR%\app\cygwin\local

    CYGWIN_DIR     = %INST_DIR%\app\cygwin\cygwin
    EMACS_DIR      = %INST_DIR%\app\emacs\emacs

;    HOME           = %INST_DIR%\home

設定ファイル(ドットファイル)のコピー

%INST_DIR%/home/ にある .bashrc などをホームディレクトリにコピーする。Emacs の設定は既にあるのでコピーしない。

Emacs の設定

.emacs.d/init.el は既にあるものを使う。(gnupack, Windows 用設定は、gnupack 付属の init.el からいくらかコピペするけど。)

gnupack の config.ini でフォントやテーマが設定されてしまっているので、これをオフにする

[Emacs]
   ;foreground     = white
   ;background     = black
;    geometry       = 91x31+70+28
;    fontName       = %_font_%
;    fontSize       = 12
;
;    ; see also http://gnupack.sourceforge.jp/docs/latest/UsersGuide_technical_info.html#_color_theme
;    colorTheme     = simple-1

タスクバーピン留め問題

%INST_DIR% にある emacs.exemintty.exe は何かランチャーのようで、実際に使っているときのプロセスは違うっぽい。そのせいか、%INST_DIR% にある emacs.exemintty.exe をタスクバーにピン留めしてそこから起動すると、タスクバーには別にアイコンが表示されちゃう。(Windows 7 のころから一緒)

Emacs の起動が次のページに書かれているような形になっているから、かな。

回避方法は未調査、気にしない方向で。

Windows 8.1 導入

自宅 iMac 上に、Parallels Desktop for Mac で Windows 8.1 を導入した。詳細はこっちのブログ記事参照。

続けて、Emacs とか Cygwin とか Visual Studio とか、開発向けの環境を構築していく。