2012年2月23日木曜日

iterm2の機能まとめ その2

前回に続いてiterm2の機能まとめ その2です。まとめてみると知らなかった便利機能が出てきて目から鱗です。

マウスレステキスト選択

マウスを使用せずテキストを選択する場合は、cmd+fで検索窓を開いて選択したい文字のキーワードを打ち込みます。検索候補が複数ある場合は下記のショートカットで候補間を移動出来ます。

  • cmd+g:前候補に移動
  • cmd+shift+g:次候補に移動
Split Horizontally

選択したい文字列に移動したらば、tabキーで選択範囲を後ろへ広げます。shift+tabキーで選択範囲を前に広げます。

  • shift+tab:選択範囲を前に広げます Split Horizontally
  • tab:選択範囲を後ろへ広げます Split Horizontally

画面分割

iTerm2は、複数のセッションを複数の"ぺイン(窓枠)"にcmd+dやcmd+shift+dで分割表示する事ができます。ペイン間の移動は下記のショートカットになります。

  • cmd+opt+←:左のペインに移動
  • cmd+opt+→:左のペインに移動
  • cmd+opt+↑:上のペインに移動
  • cmd+opt+↓:下のペインに移動
  • cmd+[:前ペインに移動
  • cmd+]:次ペインに移動

現在位置のマーク/マークへのジャンプ

cmd-shift-mでセッション内の現在位置をマークします。マークした位置にはcmd-shift-jでジャンプ出来ます。(同一セッション内でのジャンプが可能で他のセッションにはジャンプ出来ません。)

最初にプロンプトが"etc(46)$"の所で現在位置をマークします。

Split Horizontally

しばらく作業したのでプロンプトが"etc(50)$"になりました。

Split Horizontally

上記の状態でcmd-shift-jとするとプロンプトが"etc(46)$"の場所へジャンプしました。

Split Horizontally

正規表現検索

cmd+fで検索窓が開きますが、虫眼鏡マーク横の下矢印により正規表現検索を有効に出来ます。正規表現はIUCシンタックスが使用されます。

Split Horizontally

オートコンプリート

タブまたはそのスクロールバッファ内に存在する任意のテキストを、そのタブ内で自動補完することができます。オートコンプリートを使用するには、補完したい単語の先頭の一部を入力してcmd+;を押下すればオートコンプリートウィンドウが開きます。

Split Horizontally

オートコンプリートウィンドウには、入力候補が20個表示されますが、更に文字を入力する事により入力候補を絞り込む事が出来ます。

候補を選びエンターキーを押下すると、その候補がコマンドラインに入力されます。

候補を選びtabキーを押下すると、その候補対する幾つかの候補が絞り込まれます。

ペースト履歴

テキストをコピーまたはiTerm2に貼り付けされるたびに、それがペースト履歴に追加されます。

cmd+shift+hでペースト履歴を表示する事ができます。文字を入力する事により履歴の絞り込みが出来ます。

Split Horizontally

Preferences > General > Save copy/paste の設定によりペースト履歴をディスクに保存する事も出来ます。

インスタントリプレイ

topコマンドやwgetの進捗バーの様なインタラクティブなプログラムは画面が上書きされてしまい、履歴を見ることが出来ません。 インスタントリプレイを使用すると、時間を遡るように過去のある時点の画面とまったく同じものをステップ実行で見ることができます

インスタントリプレイモードを有効にするには、cmd+opt+bを押下します。

Split Horizontally

インスタントリプレイモードでは、左右矢印キーで時間を前後に移動出来ます。インスタントリプレイから抜けるにはescを押下します。

Split Horizontally

デフォルトで各セッションは、インスタントリプレイの履歴を保存するために4メガバイトまで使用出来るように設定してあります。 これはPreferences > General > Instant Replay uses __ MB per sessionで設定可能です。

フルスクリーン

cmd-enterでフルスクリーン表示になります。フルスクリーン表示では透明度の設定が(画面に集中できるように)無効になります。cmd-uで透明度の設定を再度有効にすることができます。 (出来なかった)

256色モード

iTerm2は256色モードをサポートしています。 cshシェルでこれを有効にする には、設定(Preferences > Profiles > Terminal > Report Terminal Type)でxterm-256colorを選択します。

一部のアプリケーションでは、このモードをサポートするように構成する必要 があります。vimではvimrcにこれを追加します。

set t_Co=256

マウスフォーカス制御

このオプションはデフォルトでオフになっていますが、Preferences > General > Focus follows mouseで有効に出来ます。(Build 1.0.0.20120203ではPreferences > pointer > Focus follows mouseで設定出来ます)[iTerm2ウィンドウ間でマウスフォーカス制御が有効になるだけで、他のアプリケーション間だとフォーカス制御が働かないようです]

スマート カーソル カラー

ブロックカーソルを使用する場合、それはすべての背景色に最適なカーソルの色を選択するのは難しいです。スマート カーソル カラー(Preferences > Profiles > Colors)を有効にすると背景色に最適なカーソル色を動的に選んでくれます。

Growlをサポート

あなたのマシンにGrowlがインストールされており、iTerm2のGrowlを有効(Preferences > Profiles > Terminal > Enable Growl Notifications)にしている場合は、幾つかの端末状態をGrowlに通知させることができます。

Split Horizontally

Exposéのタブ

cmd-opt-eで全てのタブを一度に表示出来ます。

Split Horizontally

ウィンドウ アレンジメント

現在開いている、ウィンドウ、タブ、メニューオプションのウィンドウとペインのスナップショットをcmd+shift+sで保存する事が出来ます。

リストアしたい場合は、デフォルトに設定したアレンジメントの場合はcmd+shift+rで戻せます。それ以外のアレンジメントはメニューオプションのWindow > Restore Window Arrangementから選んでリストア出来ます。

iTerm2を立ち上げたときにリストアしたい場合は、Preferences > General > Open saved window arrangementを設定します。複数のアレンジメントの管理は Preferences > Arrangementsで出来ます。

Split Horizontally

燃え尽きなければ、その3も書こうかな...

2012年2月22日水曜日

iterm2の機能まとめ その1

iTerm2を常用していますが、一部の機能しか使用していないので、どんな機能があるのかしらべてみました。と言ってもここに書いてある事が殆どだけれども(笑)

iTerm2は頻繁にアップデートされているため、ここに書いてある事が古くなる可能性が高いです。ここでの記述はBuild 1.0.0.20120203のiTerm2を前提にしています。

タブ

iTerm2は複数のWindowセッションを開くことが出来ます。複数のセッションを開くには複数の方法がありあります。

  • Shell > New Window で新しいウインドウを開きます
  • Shell > New Tab で新しいタブを作成します
  • Shell > Split Horizontallyで現在のウインドを水平に分割して新しいセッションを開きます Split Horizontally
  • Shell > Split Verticallyで現在のウインドを垂直に分割して新しいセッションを開きます Split Vertically

タブは一般的なタブブラウザと同じような動作をします。タブをウインドウの外に出すことにより、新しいウインドウを作成できます

tab separate

デフォルトのタブタイトルは、現在動かしているジョブ名が表示されます。幾つかのシステムではカレントディレクトリが表示されます。

Tab alart

タブタイトルはPROMPT_COMMAND環境変数(bashを使用)を設定する事によって表示は変更可能です。私の場合は、ホスト名:カレントディレクトリ(現在動いているジョブ名)を表示するように設定してあります。

PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'

他のshellを使用の場合は、How to change the title of an xtermを参考にして下さい。

タブはステータスによって色付けされます。現在開いているタブ以外のタブに出力があると、タブのタイトルがマゼンダ色に変化します。更に数秒後に赤色に変化して注意を促します。変化があったセッションのタブをアクティブにすると元の色に戻ります。これは、 Preferences > Appearance > Color tab labels on activityで無効に出来ます。

proc finish Proc done

マウス

マウスの主な用途はテキストの選択です。選択されたテキストは直ちにクリップボードにコピーされます。ダブルクリックすると単語を選択します。トリプルクリックすると行全体を選択します。クアドラプルクリック(4回クリック)すると、urlやメールアドレスと認識した文字列にマッチした所を選択する"スマートセレクト"を実行します。

shiftを押下しながらクリックすると、現在の選択エリアがクリックされた所まで拡張されます。

cmdキーを押下しながらurlをクリックすると、そのリンクをブラウザで開きます。

cmdキーを押下しながらファイル名をクリックすると、そのファイルをエディタで開きます。"FileName:LineNo"と言う形式の表示をクリックし開くアプリケーションがMacvim, Textmate,BBEditである場合には、ファイルを開き指定した行番号にジャンプします。

cmdキーを押下すると、選択文字列をドラッグ&ドロップできます。

cms+Ctrキーを押下しながら選択すると、長方形に選択出来ます。

rectangular selection

"Mouse Reporting(Preferences > Profile > Terminal)"が有効にしてあると、現在の動作している端末のアプリケーションがマウスを使用している時、optキーで一時的にマウスを無効にし選択を行うことができます。

Ctrキーを押下しながらクリックした場合は、右クリックをシミュレートします。

スクロールマウスをサポートします。

トラックパッド(ナビゲートに設定されている場合)を右または左に3本指スワイプすると、隣接するタブを選択します。(自分の環境では動作しなかった)

キーボード

便利なキーボードショートカットがあります。

  • "cmd+→","cmd+←"と"cmd+{","cmd+}"は前後のタブを移動します。
  • "cmd+数字" 数字番目のタブに移動します。
  • "cmd+opt+矢印"で分割されたウインドウ間を移動します。
  • "cmd+[","cmd+]"で分割されたウインドウ間を使用順に移動します。

Preferences > Keys で グローバルキーショートカット・Preferences > Profiles > Keys で プロファイル ローカルなキーボードショートカットを設定出来ます。

Preferences > Keys では、cmdのような修飾キーを変更する事ができます。

iTerm2は、グローバルホットキーを定義することができます。これを定義する事により、ウインドウを非表示にしたり、全面に表示したりできます。

コンテキストメニュー

画面上で右クリックするとコンテキストメニューが開きます。

Context menus

プロファイル

多くの設定はプロファイルに保存されています。 プロファイルは設定の名前付きコレクションであり、好きなようにあなたはそれらの多くを持つことができます。

ほとんどのユーザーは1つのプロファイルだけを持っていますが、あなたが頻繁に別のサーバーに接続するような場合、複数のプロファイルで管理する事は役に立つかもしれません。

プロファイルの主な特徴は、プロファイルに使用するコマンドを関連付け、それを開始時に実行する事が出来ます。例えばexample.comに頻繁にsshでログインするならば、example.comのプロファイルを作成し、"ssh example.com"を自動実行する設定をする事ができます。

Profiles

その2に続きます。多分…

2012年2月21日火曜日

iPhoneを脱獄してロック画面を作ってみた。

昨年の末に長い間使用していたNokia N81からiPhone 4sに買い換えた。キャリアーはSoftBankからの機種変更だったのだけれども、本体一括払いだと月々980円で維持できると言うのが決め手でした。

iPhoneは「パケットし放題フラット」しか選択出来ないと思っていたので、パケットを余り使わない自分ではお得感がなかったのだけれども、「パケットし放題for スマートフォン」が選択出来るならば持っていても良いかなと思い買ってしまった。

既にiPad2は持っていたので、特に目新しくもなく使っていたのですが、今年になってiPhone 4sが紐無し脱獄が可能になったと聞いて、なんか面白そうじゃんと思い脱獄してみたら、初iPhoneで初脱獄だったにも関わらず凄く簡単にできてしまった。

脱獄アプリを幾つかインストールしてみて面白そうだったのが、WinterBoardと言うiPhone 画面をカスタマイズ出来るアプリ。兼ねてから、ロック画面のデジタル時計をアナログ時計にしたいなと思っていたので、カスタマイズに挑戦してみました。

カスタマイズするといってもやり方がわからないので、テーマを配布しているithemeskyから幾つかロック画面のテーマをダウンロードして中身を見てみると、テーマ中身はhtmlとjavascriptで書かれていることがわかった。

それならば、そんなに難しくないと言うことで、よさげなテーマを見つけ出して部品画像を拝借し、javascriptを改造または追加して出来がったのがこれでした。

Lock画面

電波が受信出来なくて、お天気の情報が取れないときは次の画像になります。

Lock画面

本当は位置情報をnavigator.geolocation.getCurrentPositionで取得して、その場所の天気情報を取りたかったのだけれども、navigator.geolocation系のプロパティは使えないようなので断念しました。残念。