よんちゅBlog

― このブログは自分用のメモや日々の問題などを共有するためのものです ―

20121005185841 お知らせ:  2013/07/17 ブログデザインをリニューアルしました。

gruntのzsh補完を書いた。

bashの補完は公式で提供されていたが、gruntのzsh補完がなかったので作った。

私が存在を知らないだけかもしれないので、知ってる方がいたら教えてください。
(zsh-completions と oh-my-zsh にはなかった。1つだけgithubにあったけど微妙だった。)

ちなみに公式のbash補完は、以下の設定を .bashrc などに記述すれば使用出来ます。

eval "$(grunt --completion=bash)"

zsh補完イメージ

f:id:yonchu:20130418004437p:plain
f:id:yonchu:20130418004430p:plain

インストール方法

Githubに置いてあるのでとってきて下さい。

$ git clone git://github.com/yonchu/grunt-zsh-completion.git

or

$ wget https://github.com/yonchu/grunt-zsh-completion/raw/master/_grunt

とってきたファイル (_grant)を fpath の通っているディレクトリに置いて、zshを再起動して下さい。

$ cd grunt-zsh-completion
$ cp _grunt /usr/local/share/zsh/site-functions/
$ exec zsh

fpath が通ったディレクトリがどこか分からない方は以下コマンドで調べて下さい。

$ echo "$fpath" | tr " " "\n"

以上。

動作確認は grunt-cli v0.1.7, grunt v0.4.1 で行いました。

(zsh補完関数) httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる! (ついでに派生物もまとめてみた)

一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。

しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。

_httpstatus です。インストール方法は _httpstatus をfpathの通ったところに置きzshを再起動するだけです。
(注意:httpstatusコマンド本体は含まれておりません)

$ cp _httpstatus /usr/local/share/zsh/site-functions
$ exec zsh

sample02

700番以降は…例のアレです。

今日の参考文献:
httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる! - tokuhirom's blog.


See also:
ついでに、リリースラッシュのほとぼりが冷めてきたので、気づいた範囲で派生物をまとめてみた。
(誤りなどあれば教えて下さい。)

Alfled.app:


Bookmarklet:


C++:


cURL:


emacs:


F#:


Go:


Groovy:


Haskell:


Io:


Javascript:


JSX:


Makefile:


node.js:


Perl:


PHP:


Powershell:


Python:


Ruby:


Scala:


Shell(bash/ksh/zsh):


vim:


その他:

メモリ使用率を表示する (Mac/Linux+出力カスタマイズ+精度指定)

以前、以下の記事にてメモリ使用率を表示するスクリプトを紹介しましたが、あれからもう少し汎用的なスクリプトに改良したので紹介します。

前回はMacでしか動作せず、メモリ使用率(%)を表示するのみでしたが、今回からMacに加えてLinuxでも動作するようにしました。

また、出力も使用率(%)だけでなく、使用量(GB)、空き率(%)、空き量(GB)、総量(GB)なども表示できるようにしました。
さらに、出力形式のカスタマイズや精度(小数点第何位まで求めるか)なども指定できるようにしました。

sample02

インストール方法

下記Githubからcloneまたはダウンロードし、PATHの通った所に置きます。

$ git clone https://github.com/yonchu/used-mem.git
$ mv used-mem/used-mem ~/bin

gitが使用できない場合は
ここから直接ダウンロードして下さい。

使用方法

Usage:
  used-mem [出力フォーマット]

フォーマット用文字列:
  #f : 空きメモリ率(%).
  #u : 使用メモリ率(%).
  #F : 空きメモリ量(GB).
  #U : 使用メモリ量(GB).
  #T : 総メモリ(GB).

出力フォーマットが未指定の場合は、メモリ使用率(%)とメモリ使用量(GB)/総メモリ(GB)が表示されます。

$ used-mem
77.8%(6.2G/8.0G)

フォーマットを指定した場合、

$ used-mem '#f%(#FG/#TG)'
22%(2G/8G)

$ used-men '#.1u%'
77.8%

$ used-mem 'Free: #.2f % (#.3F GB) | Used: #.2u % (#.3U GB) | Total: #.3T GB'
Free: 38.32 % (3.065 GB) | Used: 61.68 % (4.933 GB) | Total: 7.998 GB

精度の指定は、#.Nu のように指定し、小数点以下N桁まで表示します。
C言語シェルスクリプトのprintf文と同じような指定方法です。

精度指定の最大値はデフォルトでは小数点以下3桁までです。
4桁以上指定したい場合は以下のように実行します。

$ MAX_SCALE=5 used-mem '#.5u%'
97.73180%

tmuxで使用

tmuxで使用するとこんな感じになります。

  • $ used-mem 'Ⓜ #.1u%'

sample01

  • $ used-mem 'Ⓜ #.1u%(#.1UG/#.1TG)'

sample02

  • $ used-mem 'Free: #.2f % (#.3F GB) | Used: #.2u % (#.3U GB)'

sample03

蛇足

精度指定の最大値がデフォルト3桁とやや小さめになっているのは、検証不足のためです (-_-;)
32bitの環境で、bcコマンドが使用できない場合に、どこまで最大精度を大きくできるか分からなかったんですよね。
(手元に32bitの環境がなくて… / 今時の環境はbcコマンドぐらい入ってると思うけど…)

今更ながらzshにzawを導入

zsh Advent Calendar 2012の影響を受けました。

zawの本家はzsh-users/zawですが、それをforkしたnakamuray/zawを使っている方が多かったので私もそちらを使うことにしました。

$ cd dotfiles
$ git submodule add git://github.com/nakamuray/zaw.git .zsh/zaw

便利なsourceを作成している方がたくさんいたのでそれらも追加しました。

設定は以下

設定の読み込み

ちなみに自分はzshの基本設定以外は ~/.zsh/plugins ディレクトリに に xxxx.plugin.zsh のようなファイル名で設定ファイルを追加し、それらを .zshrc 内で読み込むようにしています。

oh-my-zsh のような使い方を自前でやっている感じですね。
oh-my-zshを導入すればいいんじゃないかって感じですが…なかなか踏み切れないんですよね。

if [ -d ~/.zsh/plugins ]; then
    for plugin in ~/.zsh/plugins/*.zsh; do
        if [ -f "$plugin" ]; then
            echo "Loading plugin: ${plugin##*/}"
            source "$plugin"
        fi
    done
fi

vim `which command` を手軽に行いたい

いちいち "which 〜" とか打つのが面倒だったので

コマンド名は適当に短くして使用すると良いかもね。
自分は "vc" にしてる。

さらに zsh の場合は下記の設定を.zshrcに設定することでコマンドの補完が行える

compdef _command vc