読者です 読者をやめる 読者になる 読者になる

Google の検索結果ページを日本語と英語で切り替えるユーザスクリプトを更新しました

Google の検索結果ページを日本語と英語で切り替えるユーザスクリプト (昔書いたもの) を、現在の Google の仕様に対応させました。

インストール

  • Google の検索結果ページのどこでもよいのでダブルクリックすると切り替わります。
  • FirefoxChrome で動作確認しています。

TermKit をインストールしてみました

TermKit というターミナルエミュレータがおしゃれっぽいので試してみました。

TermKit のインストール手順

TermKit はバックエンドは node.js、フロントエンドは WebKit (.app ファイル) で動いているので、まず先に node.js をインストールします。詳しい仕組みは作者のブログで。

node.js と mime パッケージをインストールします。私はユーザのディレクトリに入れました。

$ git clone https://github.com/joyent/node.git
$ cd node
$ mkdir ~/local
$ ./configure --prefix=$HOME/local/node
$ make
$ make install
$ export PATH=$HOME/local/node/bin:$PATH
$ curl http://npmjs.org/install.sh | sh
$ npm install mime
$ node --version
v0.5.0-pre

TermKit をダウンロード、node.js のサーバを実行します。

$ git clone git@github.com:unconed/TermKit.git --recursive
$ cd TermKit/Node
$ node nodekit.js

これでサーバが立ち上がりましたので、次にクライアントを立ち上げます。

クライアントは TermKit/Build/TermKit.zip を解凍してできあがる TermKit.app です。普通にダブルクリックで実行します。

ls でアイコンやサムネイルが表示されるのはよさげ。cat コマンドでテキストファイルや画像ファイル内容表示できます。現時点では VimPerl など、バイナリの実行はできませんでした。

今のところ実用性はありませんが今後に期待したいです。

ちょっと方向性は違いますけども、過去に Flash のライブラリをシェルっぽく操作できる JSFL を書いたことを思い出しました。

Vim 7.3 をソースからインストール

Vim 7.3 をソースからインストールする手順。

$ sudo yum install ncurses-devel
$ wget http://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
$ tar xjvf vim-7.3.tar.bz2
$ cd vim73
$ mkdir patches
$ cd patches/
$ curl -O 'http://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-189]'
$ cd ..
$ cat patches/* | patch -p0
$ ./configure --with-features=huge --enable-multibyte --enable-perlinterp --disable-selinux
$ make
$ sudo make install

カーソル下の単語を snake_case や camelCase などに変換する Vim プラグインを書きました

カーソル下の単語を snake_case や camelCase などに順次変換する Vim プラグインを書きました。

実行例

例えば getElementById という単語の上にカーソルがある状態で :call ToggleCase() を実行すると下記の順に記法が切り替わります。

  1. GetElementById
  2. get_element_by_id
  3. GET_ELEMENT_BY_ID
  4. getElementById

ダウンロード

ToggleCase.vim

インストールの前に

ToggleCase.vimPerl インタフェースを利用しています。ご使用の VimPerl インタフェース非対応の場合は、再コンパイルしてください。こちらの「インストールの前に」を参照ください。

インストール

  1. GitHub のリポジトリから ToggleCase.vim をダウンロードします。
  2. ~/.vim/plugin/ に ToggleCase.vim をコピーします。
  3. 適当なキーに ToggleCase() をマッピングします。

私は C-k に割り当てています。

nnoremap <silent> <C-k> :<C-u>call ToggleCase()<CR>

また、プラグインの管理には pathogen.vim が便利です。

キーボードショートカットを定義できるライブラリ Hokke.js を書きました

キーボードショートカット (ホットキー) を簡単に定義できる Hokke.js という JavaScript ライブラリを書きました。名前の由来は、Hotkey → Hokke です。私はホッケの塩焼きが好きです。

Hokke.js

使い方

インタフェースは、3 つあります。

  1. Hokke.map(key, callback);
  2. Hokke.unmap(key);
  3. Hokke.command(keys, callback, time);

機能は主に 4 つあります。

  1. 関数にホットキーを割り当てる。(map)
  2. リンクにホットキーを割り当てる。(map)
  3. ホットキーの割り当てを解除する。(unmap)
  4. 一連のキー入力を関数やリンクに割り当てる。(command)

1. 関数にホットキーを割り当てる

任意の関数にキーボードショートカットを割り当てる機能です。下記の例では、Shift-J に、alert を表示する無名関数を割り当てています。

Hokke.map("S-J", function() {
  alert("Hello");
});

2. リンクにホットキーを割り当てる

リンク (a タグ) にショートカットを割り当てる機能です。第二引数に関数の代わりに a タグの要素を渡すだけです。

Hokke.map("S-J", document.getElementById("someAnchorElement"));

3. ホットキーの割り当てを解除する

設定したホットキーを解除するには unmap を使用します。

Hokke.unmap("S-J");

4. 一連のキー入力を関数やリンクに割り当てる

一連のキー入力があった場合に関数やリンクを実行する機能です。いわゆる「コナミコマンド」を実現できます。

Hokke.command(["Up", "Up", "Down", "Down", "Left", "Right", "Left", "Right", "b", "a"], function() {
  alert("power up!");
}, 5000);

メジャーなブラウザでは恐らく動作すると思いますが、不具合がありましたらご報告いただければ幸いです。