トップ

変化のないひび

[RSS] [Atom]

2010年02月07日 Sun

NetBSD 4.0 で screen 内で Emacs-23.1 で256色表示

screen を使わなければ PuTTY 経由での Emacs の256色表示はできていたし、Linux だと screen を使っていても問題なかったのですが、なぜか NetBSD 4.0 の screen 内ではクラッシュしたり通常表示だったりでした。ようやく解決方法がわかった気がします。

PuTTY で256色表示できるようにする

設定の「ウィンドウ」「色」で「xterm 256色モードを使うことを許可する」にチェック、「接続」「データ」で「端末タイプを表す文字列」を「xterm-256color」に。

termcap の設定

ログイン先で ~/.termcap に以下の行を追加

xterm-256color:Co#256:pa#256:AF=\E[38;5;%dm:AB=\E[48;5;%dm:tc=xterm-color:

この状態でログインしてみて、$TERM が xterm-256color であること、256colors2.pl が256色表示できること、Emacs で M-x list-colors-display してたくさんの色が表示されることを確認。

screen のビルドしなおし

pkgsrc の screen は256色に対応する設定になっていないので、pkgsrc/misc/screen/Makefile のしかるべきところに以下の行を追加してビルド。

CONFIGURE_ARGS+=        --enable-colors256

screen の設定

term xterm-256color

を ~/.screenrc に追加。

シェルでの設定

シェルの起動時設定ファイル(zsh なら ~/.zshrc)に以下の行を追加。

eval `tset -sQ xterm-256color`

screen のときだけこれが必要。screen なしのときは必要ないのに必要になってしまう理由はイマイチよくわからない。

設定おわり

あとは普通に screen を起動してからその中で emacs を起動すれば256色使えるようになってます。M-x list-colors-display などで確認。color-theme を入れて

(require 'color-theme)
(color-theme-initialize)
(color-theme-emacs-21)
(set-face-background 'modeline "#004080")
(set-face-foreground 'modeline "#ffffff")
(set-face-background 'mode-line-inactive "#4080c0")
(set-face-foreground 'mode-line-inactive "#dddddd")

という感じで使っております。

[]

2009年11月22日 Sun

運転免許証の更新

5年ぶりの更新です。LASIK 後で初更新ということで、「眼鏡等」の条件が無くなりました。

普通じゃなくて中型免許になってしまうんですね。免許証がICカードになったようですが、自分にはとくにメリットがなさそう。Felica と干渉するという噂があるけど、どうなんでしょう。

Visual Studio 2010 Beta 2

確認したいことがあり、VS2010 Beta 2 をインストールしてみました。

確かに stdint.h がありました(←確認したいこと)。しかし inttypes.h がないのはヒドいな。stdbool.h も入れてくれたっていいじゃない。

本日のツッコミ(全1件) [ツッコミを入れる]

けんと [IC免許証とSuicaを財布に入れてJRと京急の自動改札を通ってみたけど、とくに問題は発生しなかった。 ]

[]

2009年11月17日 Tue

バージョンコントロールシステム

いまの会社に入るまでは RCS と CVS しか使ったことなかったんですね。とくに CVS と付き合う時間が長うございました。入ってからは Perforce やら Subversion やら git やらも使うようになりましたが、これらに慣れてしまうとCVSはもう有り得ないという気分になります。

CVS はリポジトリのある状態を表現するのに時間ぐらいしか使えないというのがヒドい。たとえば「11月17日22時33分にチェックアウトしたソースは云々」なんて言ったときに、

  • その時刻のタイムゾーンは?
  • その33分の0秒〜59秒のどれ? ミリ秒は?
  • その時刻はチェックアウトを始めた時刻? 終った時刻?

など曖昧さがあります。もしほぼ同じ時刻にコミットされたものが複数あったら、本当に状態を特定するのはムリかもしれません。

あとは良く言われることですが、複数のファイルへの変更を同時にコミットしても CVS 的にはそれらの変更に関連を持たせていないのが困ります。revert するのが非常に面倒。

NetBSD のリポジトリも早いとこ CVS 以外になってくれると嬉しいですね。

Git

ここ数ヶ月はとくに git 中心な感じです。git を使い始める前に Linus の「とにかくブランチを速く作ることが重要なんだ」というような発言を見てもまったくピンと来なかったのですが、使い始めてみると納得できました。とくにコミット前にコードレビューが必須となっているプロジェクトではローカルでブランチを作りまくれることがすごく有り難い。

Git は機能的にはすごく便利なんですが、何だかコマンド体系が覚えにくいのです。「git revert」は「svn revert」とは別の目的になっていたり、「cvs annotate」「svn annotate」に相当する機能が「git blame」とわざわざ別の名前になっていたり、なんの嫌がらせなんでしょう。

本日のツッコミ(全1件) [ツッコミを入れる]

たき [私は最近、Mercurial(hg)ですねえ。 わりとべんりです。]

[]

ちょしゃ: けんと <kent_2009>
Google
 
Web hauN.org