fc2ブログ

ぼちぼち散歩

iTerm2が(当初に比べて)むちゃくちゃ速くなったのでurxvtとかいらなくなった

これまで理想の(?)ターミナル環境を求めてMacでurxvtをいろいろゴニョゴニョしてきたけど,iTerm2がr176でかなり速くなり,r191でさらに速くなって,十分実用的になった.iTerm2なら256色表示できて,普通にコピペできて,Ambiguous Widthな文字をdoubleで表示するオプションもあって, 半透明表示もできて,なんというかもうこれでいいです.

たぶん,次のalphaバージョンでこの高速化が入るけど,待ち切れない人は,Xcode入れて,svn checkoutして,make Deploymentすれば簡単にビルドできます.

2010/9/30 追記: r196で64bit化したせいかわからないけど,もうちょい速くなってた.これがr176あたりで自分が試したやつやけど,r196では同じベンチマークスクリプトが0.7?0.8秒ぐらいで走るようになってる.単純計算で当初の6倍速か.Appleなら6x fasterとか宣伝できるレベルw

2010/10/1 さらに追記: ちょっと気になったのでTerminal.appやurxvtでのベンチもついでに.やってみた.それぞれMacBook Pro 15"(MacOS X 10.6.4, 2.4 GHz Core i5, 8 GB Memory)上で150x55,フォントはMenloの13ptに設定し,/bin/bash上で以下のスクリプトをtime ./scroll_bench 100000として3回走らせた結果の平均である.さすがにTerminal.appよりかは少し遅いけどurxvtよりも速くなっている.

ターミナルreal [sec]user [sec]sys [sec]
iTerm2 r1754.4360.2090.205
iTerm2 r1761.8520.2110.202
iTerm2 r1960.8030.2100.211
Terminal.app0.6290.1920.165
urxvt 9.07 on XQuartz 2.5.32.4270.1770.142

2010/09/29 17:02 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

MacのX11でurxvtとMozcを使う設定とか

前回からもう少し環境を整えたので.それについて書いていく.前回同様,X11やらMacPortsやらの環境は整っている前提です.

urxvtのインストール

MacPortsで入れてもいいけど,新しい物好きなのでCVSの最新を持ってくる(多分MacPortsので問題なし).適当なフォルダで以下を実行.

cvs -z3 -d :pserver:[email protected]/schmorpforge co rxvt-unicode
cd rxvt-unicode
./autogen.sh
./configure --enable-everything --with-codesets=all --enable-256-color 
make
cd src
sudo make install
cd ../doc
sudo make install

.Xdefaultsは前回からいろいろ変更してみた.まず,フォントはInconsolataにしていて,ターミナルでC-,やC-.に割り当てたい、rxvt-unicodeで。 - hchbaw記を参考に<C-,>や<C-.>を擬似的に使えるように設定している.

あと,Command-CとCommand-VでMacのクリップボードを使ったコピペできるように設定している.これには,もともとmacosx-clipboardというPerlモジュールがurxvtに付属しているものの,日本語が文字化けすることがあったので,#17434 (rxvt-unicode 9.06 macosx-clipboard module doesn't work) – MacPortsで見つけてきたのを少し改変したものを使っている.以下の内容でmacosx-clipboard-pbocpyという名前で/usr/local/lib/urxvt/perl(MacPortsで入れた場合は/opt/local/lib/urxvt/perl)に配置すればOK.

MacUIMでMozc

最近のMacUIMではMozcを使えるので利用する..xinitrcの該当箇所を以下のように変更.

/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim --engine=mozc &

ここで,システム環境設定.appのMacUIM→uim→全体設定→使用可能にする入力方式でMozcを有効にしておかないとMozcを使えないので注意.古いバージョンからアップデートすると前の設定が残っていせいで有効になっていないことがあるみたい(自分はここでだいぶはまった^^;).

Mozc自体の設定はMacUIMの設定や/Library/Mozc/MozcTools.appから行うことができる.辞書ツールはMacUIM 0.6.8-5 « ekato’s noteにある通りパッケージをひらいて中身を直接実行する必要がある.その他,かな/英数キーでのon/offなど前回と同じように設定する.

Mozcが素晴らしいところは,このようにGUIで設定したものをちゃんとX11の環境で使える上に,Google日本語入力と辞書を共有できるところである.自分は普段Google日本語入力を使っているので,これのおかげで,X11環境でもだいぶ違和感なく日本語を入力できるようになった.

まとめ

日本語入力やコピペをだいぶ通常の環境に近づけられたので,プログラムを各環境としては不満はなくなりつつある.現状困るのは,Eastern Asian Ambiguous Widthな文字(◯とか■とか)が正しく表示されないことと,背景透過は今のところ無理っぽいところぐらいである.背景透過はどうでもいいっちゃいいので,Ambiguous Widthの問題だけなんとか解決できないものか.

urxvt以外では,最近はiTerm2.appも出てきてそっちも気になるけどここらへんとかが解決しない限り使い物にならない.Terminal.appもyoshimasa niwa - TerminalColoreopard LeopardのターミナルのANSI配色を変えるツールワタタツのウィッ記 - TerminalEastAsianAmbiguousClearerApribase » Visor + tmux + vim のための8色カラースキーマ ap_dark8 公開を使えばいいけど,個人的には256色欲しいのでやっぱり当分はurxvtの予感.

あと,最近はscreenの代わりにtmuxを使ってみているけど,それについてはまたそのうち.

2010/09/16 03:12 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

del.icio.us IncSearch用のスクリプトを更新した

またもや久々のブログ更新.以前に書いてたやつをリファクタリングして,tweetbuzzもくっつけてみた.

del.icio.us IncSearchは,今回みたいに勝手に拡張したり,Vimperatorと組み合わせたり,個人的には最強に重宝しています.

2010/06/24 19:15 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

Macでurxvt + screen + zsh + vim再び

2010年2月14日追記: 全体的に最新の内容に書き換えました.

前回環境を作ってからなんやかんやでiTermに戻ってた.iTermは最新版では機能的には良い感じになってたけど,その変わりもっさり具合がひどくなってて,特にVimでNERD_treeを表示していると1秒間に2行ぐらいしかスクロールできないほど重い感じ.というわけで,前回の続きでurxvtに再挑戦することに.

前回満足いかなかった点としては,無理矢理「英数」「かな/カナ」キーでIMEをon/offしてたので時折変な挙動を示したいた点と,フォント設定がうまくいってなくて見た目がださかった点が大きかった.この2点がそこそこ解決できたので簡単に説明してみる.ちなみに,環境は10.5 Leopardなので,もしかしたら10.6 Snow Leopardではうまくいかない点があるかも.現在10.6の環境で運用中.たぶん大丈夫だけど,むしろ10.5でうまくいかない点があったらごめんなさい.

環境整備

まずは,前回同様何はともあれ最新版のX11をXQuartzから持ってくる.10.5の人は今書いている時点で2.4.0が最新版.ちなみに2.4.0はSnow Leopardでは使えなくて2.4.1を待てみたいなことが書いてあるので,Snow Leopardな人は入れない方が良いのかも.あと,MacPortsは既に設定済みであるということで話を進める.例によってBeginning OS Xを参考にするのがおすすめ.

urxvtのインストール

前回はおれおれPortfileを作っていたけども,現在は公式で256色表示のvariantがあるのでそれを使えるので簡単.設定は~/.Xdefaultに書く.エントリの最後にくっつけたやつでOsaka-等幅フォントが使えてそれなりに美しく見える.10.6からはMenloフォントというプログラミングに適したフォントが追加されたのでそれを指定.10.5の頃はMonaco使ってました.ちなみに,使えるフォントはfc-listコマンドで確認できる.

% sudo port install rxvt-unicode +xterm_colors_256

screenのインストール

MacPorts公式のやMacに付属のscreenではなぜかpbcopyやpbpasteといったコマンドが使えないので,GNU screen on Mac OS X - mootoh.clipで紹介されている方法を参考に自力でscreenを入れる.最新版GNU Screenで縦分割(その1?導入編?) - blog.remora.cxによると一時期git最新のscreenにバグがあったみたいやけど,現在はまた大丈夫になったみたい.

% git clone http://git.savannah.gnu.org/cgit/screen.git
% cd screen/src
% sh autogen.sh
% ./configure --enable-colors256 --enable-rxvt_osc --disable-telnet --prefix=/usr/local
% make
% sudo make install

あと,このままだとrxvt-256colorのterminfoがないとエラーが出るので,/opt/local/share/terminfo/72 /rxvt-256colorを/usr/share/terminfo/72/にコピーした(正しい対処か分からないけど).ちなみに/opt /local以下にあるやつはncurseswインストール時についてくるやつで,rxvt-unicodeもVimもncurseswに依存している.

screenrcは適当でもいいけど,以下の2行はたぶんないと色がおかしくなる.

defbce "on"
term rxvt-256color
" ここはterm xterm-256colorの方がよい?このへんよくわかっていない

zshのインストール

zshはgit.sourceforge.jp Git - splhack/MacPorts.git/summaryからPortfileを頂いてきて,インストールする.+cjk以外のvariantsは適当に.

% sudo port install zsh-devel +cjk +doc +examples +mp_completion +pcre

Vimのインストール

MacPortsでさくっと.

% sudo port installl vim +huge +perl +python +ruby

Mac UIM

今回は日本語入力にとしてMac UIMを使うのでmacuim - Project Hosting on Google Codeからダウンロードしてインストール.次にエントリの最後にくっつけた内容で~/.MacOSX/environment.plistを作成.前回同様,LANG属性は入れていない.Mac UIMインストール後に再ログインを求められるし,environment.plistを反映させるためにもここで再ログイン.

次に,xinitrcを/usr/X11/lib/X11/xinit/xinitrcから引っ張ってきてMac UIMの起動コードを追加する.

% cp /usr/X11/lib/X11/xinit/xinitrc ~/.xinitrc

# start some nice programsの下に以下を追加

/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim --engine=anthy &

さらに,「英数」「かな/カナ」キーでMac UIMをon/offできるようにする.晴 - Note X11.app上で日本語入力する設定覚書を参考に.XmodmapとMac UIMの設定をいじる(これもエントリ最後にくっつけている).これによって,Mac UIMのon/off以外にもバックスラッシュの入力と変換中のフォントの設定ができる.Mac UIMの設定はシステム環境設定からもできるので,その他気になるところは適当にいじると良いと思う.AnthyにもVi協調モードがあってこれを有効にするとEscキーでNormalモードに戻るときにAnthyも同時にOffとなる.

X11.appの設定

前回同様,urxvt-helperを作成して,defaultsコマンドでX11.app実行時にurxvtが立ち上がるようにする.chmodで実行権を与えるのを忘れずに.

% defaults write org.x.X11 app_to_run "/usr/local/bin/urxvt-helper"

あとは,X11.appの環境設定の入力のところで,「X11の代替キーを有効にする」のチェックを外す.これをしておかないと先ほどの「英数」,「かな/ カナ」キーの入力がX11に届かない.あと「3 ボタンマウスをエミュレート」はチェックを入れておくとOption+クリックでペーストできるので便利.その他は適当に.

感想とか

これでだいたいやったことは説明したと思う.何か抜けている可能性が高いし,間違ってるかも知れないし,分かりにくいところもあると思うので,何かあれば教えて下さい.

全体としては,非常に軽快に動作する上に,日本語入力もほぼ通常の環境と変わらず行え,256色でアンチエイリアスの効いたフォントも十分見られる範囲.あと,Vimのkuプラグインなどで必要となるOption-jとかOption-kとかの入力は,Command-j,Command-kで行える.

不満は半透明表示ができないこと.urxvt自体はshadingで透明度を設定できるようになっているので(このへん不確か),コンパイルオプションが間違っているのか X11.appの問題なのか分からないけど,そのうち解決することを期待したい.あと,この設定だとCommandキーがAltキーとして取られるので,urxvtを使っている間はCommand-cでコピーなどのMac本来のショートカットキーが使えない.

というわけで,多少の不満はあるものの,256色表示できない残念なTerminal.appやとても重たいiTerm.appに比べたら,だいぶ良い環境が作れたのではないかと思う.あとはkinput2.macimが復活してATOKも使えたら良いのになぁとも思う.最後にスクリーンショットを貼っておく.

urxvt

2009/10/14 15:42 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

Vimperatorビルド用にMacPortsでasciidocの8.2系列をビルドするPrivate Portfile

Vimperatorではヘルプの生成にasciidocを使っているけど,最新のasciidoc 8.3系列じゃなくて8.2系列の使用を前提としているため,8.3系列のasciidocだとmakeの途中でエラーで止まってしまう([参考1] [参考2]).ところが,MacPortsでasciidocをインストールすると8.3系列がインストールされ,しかも今のところ8.2系列などの過去のバージョンをインストールする手段が(たぶん)ない.というわけで,asciidoc 8.2.7をインストールするPrivate Portfileを作ってみた.以下,簡単に作業ログの残しておきます.ちなみにPrivate PortfileについてはHowTo/LocalPortfile - MacPortsWiki-JPなどを参照してください.

asciidocのホームページダウンロードページを見ると,Mercurialでソースコード管理しているとのことなので,MacPortsを使わずにインストールする場合は,

% hg clone -r 8.2.7 http://hg.sharesource.org/asciidoc
% cd asciidoc
% sudo ./install.sh

などとすればインストールできることがわかる.これをPortfileにすることを考えて,まず以下のようにして8.2.7当時の公式Portfileを引っ張ってきた.

% svn co -r 44195 http://svn.macports.org/repository/macports/trunk/dports/textproc/asciidoc
% cp -R asciidoc /path/to/local_port_tree/textproc

次に,MacPorts Guideのhgのところや,HowTo/PrivatePortfileTutorial - MacPortsWiki-JPを参考にしながら,hgでソースをfetchしてくるように変更してみた.本当は,新しくasciidoc827とかいう名前のPortfileを作って,公式のasciidocと共存するようにしたかったのだけど,asciidoc 8.2.7のinstall.shに簡単にコマンド名などにsuffixをつけれるオプションがなかったので,今回は妥協してasciidocという名前のままにした.個人的にはVimperatorのビルドにしかasciidocを使わないのでこれで困らないけど,他の用途でasciidocを使っている人は気をつけて下さい.したがって元のasciidocをアンインストールしてから8.2.7をインストールする必要があります.

% sudo port uninstall asciidoc
% cd /path/to/local_port_tree
% portindex
% sudo port install asciidoc @8.2.7

ここで,fetch時というかhg cloneのときに「abort: unknown encoding: X-MAC-JAPANESE」というエラーが出たので,mercurialとsshと私 » Happy My Lifeのページを参考に$HOME/.hgrcを適当にいじってからリトライした.ここまでで,asciidoc 8.2.7のインストールは終わりで,Vimperatorをmakeし直してみる.ヘルプファイルは元のtxtファイルが更新されてないとリビルドされない上に,手元の環境ではmake cleanでヘルプファイルを消せなかったので,自力で消してから再度ビルドした.

% cd /path/to/vimperator_git
% rm */locale/*/*.html   
% make xpi

で,一応うまいこといったので,たぶん大丈夫なんでしょう.以下に作成したPortfileを貼っておきます.あんまり自信ないので試される方は自己責任でお願いします.

2009/01/12 15:52 | Mac | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ >> 次のページへ