Android Terminal Emulatorでより良いコンソール生活を。

Android上で日本語が通る端末アプリはConnectBotだけだと思ってましたが、最近のupdateでAndroid Terminal EmulatorがUTF-8に対応した様なので以下のツールを組み合わせて早速試してみました。

マーケットから入手できるAndroid Terminal Emulatorも日本語表示が可能ですが、所謂East Asian Ambiguousな文字の幅が"1"であると認識される(○△□等の表示が乱れる)のと、[Ctrl]や[Esc]の入力方法が特殊なのでIS01ハードキーに対応させる為に下記からソースを入手してビルドしました。

このターミナルがConnectBot等と比較して優位な点は、AndroidIMEを使用して日本語のインライン入力が出来る事です。今のところ私が試した中ではray-mizukiさんのSKK for Android with hard-keyでしか成功してませんが、Vimの外でも日本語が使えてかなり便利です。下図の様なカンジで使ってます。

下に変換候補が表示されると端末サイズが1行縮まりますが、それほど問題にならないと思います。
Debianchrootしなくてもここまで出来るんなら、個人的にはあとはテキストブラウザが欲しくなりますね。
しばらく放置中のlynxの移植を再開しようかな。

skk.vimでGoogle的な日本語変換を試す。

skkservに対応したskk.vimとGoogleIME用の豊富な語彙を利用できるSKKサーバの組み合わせを試したところ、なかなか便利に使えたので紹介します。Rubyと、Rubyサポートが有効なVimが動けば大抵の環境で出来るんじゃないかなと思います。私はCygwinLinux、そしてAndroidで試しました。

skk.vim

まずは、anyakichiさんが作成されたskk.vimです。以下のgitリポジトリからダウンロードしてインストールします。

https://github.com/anyakichi/skk.vim

Google IME SKKサーバー

続いてid:hitode909さんのGoogle IME SKK サーバーです。こちらはRubyで実装されており、gemになっているので以下のコマンドでインストール出来ます。


%gem install google-ime-skk

下記コマンドで起動です。


%google-ime-skk

vimの設定

localhostSKKサーバを動かす場合の.vimrcの設定例を以下に示します。


let skk_server_host = 'localhost'
let skk_server_portnum = '55100'
let skk_server_encoding = 'euc-jp'

上で準備は完了です。Vimを起動して変換を試してみましょう。固有名詞が豊富な普通のSKKとしても使えますが、長文の一括変換も可能になり、とても快適に入力出来るようになりましたね。
全然SKKっぽくないんですけどね(^^;

Androidでも試す。

とりあえずanyakichiさん版のskk.vimは+rubyVim for Androidでも動きました。
絶対自分のユーザ辞書にない変換結果など。他ホストで起動中のGoogle IME SKKサーバーに繋いでます。

AndroidローカルでGoogle IME SKKサーバーを動かすにはruby1.9のiconvを有効にせねばならず、ちょっと面倒そうでまだ手を付けてません。普通は ext/iconv で extconf.rb 実行なんだろうけど、NDKでビルドしたRubyの場合どうすんだろ(--;

AndroidでJNetHack


言わずと知れたローグの流れを汲むダンジョン探索型RPGです。
Debian on IS01では既に遊べてましたがやっぱネイティブのがイイですよね?
IS01でしか動作確認してませんがバイナリ(games.tar.gz)をここに置きます。jnethack3.4.3-0.10ベースです。
/dataディレクトリに展開後、/data/games/jnethackの実行で起動します。ConnectBotのエンコードEUC-JPにしておいてください。

※追記:/data/games/jnethackスクリプトの1行目が #!/bin/sh のままなので適宜修正してください。

モバイルガジェットで手軽にtty版のNetHackを遊びたいって念願がやっと叶いました。
他にそんな人あんまり居ないかなw

AndroidでTwitVim

TwitVimを導入してVim for Androidからツイートしてみましょう。TwitVim本体の他にcURLとOpenSSLのインストールが(お使いの環境に入ってない場合は)必要です。

cURLのインストール
私がビルドしたものをここに置くのでパスの通った場所に置いてください。

◆OpenSSLのインストール
同じ場所にOpenSSL一式(openssl.tar.gz)を置きますのでDLしてください。解凍したらライブラリ(libcrypto.so,libssl.so)とバイナリ(openssl)をそれぞれパスの通ったディレクトリに配置します。なお、本ファイルはIS01で動かすためにAndroid1.6向けにビルドしており、eclair以上での動作は未確認です。

◆TwitVimのインストール
Vimからtwitterを使用するためのプラグインです。こちらから最新版をダウンロードします。Vimball形式なのでDLしたファイルをVimで開き、コマンドモードで

:source %
と入力してインストールします。

◆.vimrcの設定


let twitvim_count = 25
let twitvim_browser_cmd = 'am start -a android.intent.action.VIEW'
とりあえず上記の設定を加えます。1行目は一度に取得するログの数ですがIS01の場合あまり大きいと時間がかかりすぎる様です。
2行目はTL上のURLを標準ブラウザで開くための設定です。


◆初期設定

Vimを再起動し、コマンドモードで、"FriendsTwitter"と入力します。


・標準ブラウザでTwitterの認証画面が開くので、内容を確認の上認証ボタンを押します。


・表示されたPIN番号をメモしたら、ブラウザを閉じます。


Vimのコマンド入力欄にPIN番号を入力し[Enter]。


・タイムラインが表示されます。説明のためにTLじゃないほうのバッファは閉じてますが通常は分割表示されます。



以上によりTwitVimの設定ファイルが作成されるので、次回のVimの起動からはすぐに使える筈です。
あ、書き忘れましたが日本語を入力するにはskk.vimも必要ですので別途入れてください。AndroidIMEで日本語入力出来るターミナルアプリほしいっすね〜。

Vim for Androidの使い勝手向上

改造版ConnectBotとSmooth ScroollプラグインVimの使い勝手を少ーし改善してみましょう。

◆改造版ConnectBotインストール
システムフォント使用,IS01右メニュー消しに加えて今回こちらのパッチを入れてみました。導入済バイナリはここから落としてください。設定画面に"Tap moves mouse"という項目が追加されるので(下図参照)チェックしておくと、画面タップでマウスクリックのイベントが送られるようになります。

VimのSmooth Scroollプラグイン導入
Vimのスクロールをスムーズにしてくれる、Smooth Scroollプラグインを入れてみましょう。下記URLからダウンロードして$VIMRUNTIME/pluginディレクトリに置きます。
http://www.vim.org/scripts/script.php?script_id=1601
更に.vimrcに以下の記述を追加し、「PageUp/PageDown」にスムーズスクロールをマッピングします。


"でスムーズスクロール
map
map
ConnectBotにはスクリーンジェスチャー機能が備わっているので、以上の設定で画面左部分でのスワイプによるスムーズスクロールが可能になります。

これでVimのカーソル移動や画面分割後のウィンドウ移動、スムーズスクロール等が画面タップやスワイプにより操作出来るようになりました。
結構面白いので一度試してみてください。

IS01の右メニュー消しで広々コンソール

IS01でConnectBotを使用していて、右メニュー消せたらいいなぁって思ったんで実際にやってみました。結構快適です。

下記に置いたんで必要な方はどうぞ。
http://ux.getuploader.com/android_files/