QuickBuf を入れました。以前は fuf.vim やproject.vim を使っていましたがなんだかんだで最近は :ls で一覧表示してバッファ番号で選択していました。
vim.org のスクリプトファイルを wget でダウンロードする
vim.org から wget でスクリプトファイルをダウンロードするとファイル名が download_script.php?hogehoge になってしまいます。
wget --content-disposition http://www.vim.org/scripts/script.php?script_id=1910
–content-disposition オプションを付けるとブラウザでクリックした時と同じファイル名でダウンロードできます。
HTML や CSS ファイルを保存した時にブラウザを自動的にリロードする JavaScript ライブラリ AutoReloader.js を書きました。mala さんが昔書いていたものの焼き直しですが…。
ダウンロード
https://github.com/tanabe/AutoReloader-js
使い方
下記の 1 行を対象ページの一番下に挿入します。
<script type="text/javascript" src="auto-reloader.js"></script>
デフォルトでは対象ページのみ監視します。
XMLHttpRequest を使用していますので HTTP 経由でご使用ください。
他のファイルを監視対象にする
例えばページで使用している CSS ファイルも監視するには、AutoReloader.add メソッドを使います。
AutoReloader.add("style.css");
AutoReloader.add は複数ファイルを指定できます。例えば上記に加えて SWF ファイルも監視したい場合は
AutoReloader.add("style.css", "index.swf");
このように記述します。
CSS や JavaScript を一気に監視対象にする
AutoReloader.add で追加するのが面倒ならば、
AutoReloader.watchCSS();
や
AutoReloader.watchJS();
を呼び出すことでページで使用している CSS や JS ファイルを一括で監視対象にできます。
iPhone でも動きます
iPhone (Mobile Safari) でも動きますので、リロードのために端末を手にすることなくコーディングができます。さくっとプロトタイプを作るときに自分は使っています。また、IE 6 でも動きます。
MacOS X (Snow Leopard) に PhantomJS を入れました。Build Instructions の通り。
- git clone git://github.com/ariya/phantomjs.git && cd phantomjs && git checkout 1.1
- Qt を落とす。
- qmake -spec macx-g++ && make
- in/phantomjs.app/Contents/MacOS/phantomjs をパスが通るところにコピーする。
Google の検索結果ページを日本語と英語で切り替えるユーザスクリプト (昔書いたもの) を、現在の Google の仕様に対応させました。
インストール
- Google の検索結果ページのどこでもよいのでダブルクリックすると切り替わります。
- Firefox と Chrome で動作確認しています。
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 コマンドでテキストファイルや画像ファイル内容表示できます。現時点では Vim や Perl など、バイナリの実行はできませんでした。
今のところ実用性はありませんが今後に期待したいです。
ちょっと方向性は違いますけども、過去に Flash のライブラリをシェルっぽく操作できる JSFL を書いたことを思い出しました。
Markdown 記法を書きながら確認できるサイトを作りました。
Markdown Live Preview
GitHub に README をコミットする際などにご利用ください。
カテゴリー: Develop, Git, 未分類
|
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 プラグインを書きました。
実行例
例えば getElementById という単語の上にカーソルがある状態で :call ToggleCase() を実行すると下記の順に記法が切り替わります。
- GetElementById
- get_element_by_id
- GET_ELEMENT_BY_ID
- getElementById
ダウンロード
ToggleCase.vim
インストールの前に
ToggleCase.vim は Perl インタフェースを利用しています。ご使用の Vim が Perl インタフェース非対応の場合は、再コンパイルしてください。こちらの「インストールの前に」を参照ください。
インストール
- GitHub のリポジトリから ToggleCase.vim をダウンロードします。
- ~/.vim/plugin/ に ToggleCase.vim をコピーします。
- 適当なキーに ToggleCase() をマッピングします。
私は C-k に割り当てています。
nnoremap <silent> <C-k> :<C-u>call ToggleCase()<CR>
また、プラグインの管理には pathogen.vim が便利です。
キーボードショートカット (ホットキー) を簡単に定義できる Hokke.js という JavaScript ライブラリを書きました。名前の由来は、Hotkey → Hokke です。私はホッケの塩焼きが好きです。
Hokke.js
使い方
インタフェースは、3 つあります。
- Hokke.map(key, callback);
- Hokke.unmap(key);
- Hokke.command(keys, callback, time);
機能は主に 4 つあります。
- 関数にホットキーを割り当てる。(map)
- リンクにホットキーを割り当てる。(map)
- ホットキーの割り当てを解除する。(unmap)
- 一連のキー入力を関数やリンクに割り当てる。(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);
メジャーなブラウザでは恐らく動作すると思いますが、不具合がありましたらご報告いただければ幸いです。
JavaScript の関数に JSDoc 形式のコメントを追加する Vim スクリプトを書きました。
tanabe/WriteJSDocComment.vim – GitHub
実行例
JavaScript の function が書かれている行にカーソルがある状態で :call WriteJSDocComment() を実行すると下記スクリーンショットのように JSDoc 形式のコメントブロックが挿入されます。
↓
対応しているタグ (ver 0.2)
- @name
- @function
- @param
- @return
インストールの前に
WriteJSDocComment.vim は Perl で書かれているため、Vim が +perl オプション付きでコンパイルされている必要があります。Vim が Perl インタフェースに対応しているか確認するには、下記のコマンドを実行します。1 が表示されれば Perl インタフェースに対応しています。
:echo has('perl')
0 が返ってきた場合は、Vim を +perl オプション付きで再コンパイルしてください。
#ソースからの場合 (例)
$ ./configure --enable-perlinterp --enable-multibyte --with-features=huge
#MacPorts の場合 (例)
$ sudo port install vim +perl +multibyte +huge
インストール
- GitHub のリポジトリから WriteJSDocComment.vim をダウンロードします。
- ~/.vim/ftplugin/javascript/ に WriteJSDocComment.vim をコピーします。
- 適当なキーに WriteJSDocComment() をマッピングします。
私は C-c で関数を実行するようにしました。.vimrc に下記を追記しています。
au FileType javascript nnoremap <buffer> <C-c> :<C-u>call WriteJSDocComment()<CR>