zsh
zshは快適なシェルではあるが、anything脳の俺にとっては履歴検索で絞り込めないと不便でしょうがない。 zshでanythingのようなものを作る方法があるものの、やはり本物のanything.elを使いたい。 ということでzshのコマンドラインからanythingで履歴検索す…
deruiの日記id:deruiによるzshの履歴をインクリメンタルに正規表現検索するzshスクリプト。インクリメンタル検索だの絞り込み検索だのと聞いてすぐに飛び付くのがanything脳のサガというもの。 ナイスアイデア!!キーをおすたびに勝手に絞り込まれていくのがa…
Vimのモードと拡張性 - think and errorVi vs Emacsは空手とムエタイでどっちが強いかを議論するようなものなのでとりあえず置いとこう。 LinuxのCUIはまた極端すぎ.ディレクトリ変更にcdコマンドで延々と打つのは本当に面倒だ. えーっとzshなら楽だよ。「…
.zshrcの設定内容によっては、EmacsのM-x shellでは動作しなくなる。それは、zleをいじっているから。だけど、zshでもEmacsの中で動かす方法はある。以下の行を.zshrcに入れるだけでよい。 [[ $EMACS = t ]] && unsetopt zle この設定は環境変数 EMACS が t …
**/*.[ch]などは使うけど、/**/*~^*/path(|/*)とか**/*.c(D.OL[1,10]:h)とか*(ND.L0m+0m-2)とかわけわかんねえ。d:id:rubikitch:20070925#zshcheatsheet のチートシートに書き加えようにもうまく整理できなくて。しかも使用頻度が低いからいざ複雑な条件を指…
zshのglob機能(ワイルドカード)はとてつもなく強力だ。zshユーザならほぼ間違いなくsetopt extended_globの設定を入れていると思う。extended_globしておかないと強力なglobの恩恵を受けられないからだ。たとえば**/*.hは*.hをカレントディレクトリとその…
http://zshwiki.org/home/examples/zleiabZshWikiを漁っていたら、おもしろい設定を見付けた。 vimではiabで略語展開ができる(らしい)が、同様のことをzshでもやろうという設定だ。 ソースはこんなの。 setopt extended_glob typeset -A abbreviations abb…
コマンドラインをエディタで編集 zshのコマンドラインはエディタで編集できる。環境変数VISUALかEDITORに使いたいエディタを指定しておこう。Emacsな人は M-x server-start してから EDITOR=emacsclient M-x gnuserv-start してから EDITOR=gnuclient のいず…
http://journal.mycom.co.jp/column/zsh/003/index.htmlの もはや漢のスクリプトはコマンド履歴の中にあるものだ。 に触発されて編集中のコマンドの内容(Emacs同様バッファと言う)を履歴に登録するだけのZLE widgetを作ってみた。ソフトウェアのコンパイル…
英辞郎があれば楽に英語は読めるけど 何回やっても何回やっても マニュアルがわからないよ! 読んでてほんとに意味不明なのが多い。もっと使用例が欲しい。でないと読む気失せる。
~% noglob echo * * ~% noglob echo http://www.example.com/?hoge http://www.example.com/?hoge わざわざquoteする必要がない。とくにqueryつきのURLを引数に指定するときに便利かも。
zshにおいてM-hを押すとコマンドをmanする機能がある。実際はrun-helpコマンドが実行され、デフォルトではmanにaliasされている。しかし、zsh組み込みコマンドでは使えなかったりして不便だ。しかし、以下の作業をしてあげれば組み込み関数やmanのないコマン…
zshのオプション補完 zshの補完が恐しいまでに高機能なのはユーザーみんな知っているだろう。なんと、オプションまでも補完してくれる。たとえば、lsだって以下の状態でタブを打つと、 $ ls -[Tab] option --all -a -- list entries starting with . --almos…
俺は「ぜっとしぇる」と読んでるけど、みんなはずぃーしぇる派なんだろうか?ちなみにウルトラマンを倒した最強最後の怪獣(だった?*1)「ゼットン」は「Z」と「ん」の日英最後の文字をくっつけたのが名前の由来だとさ。つまりzshとゼットンは同類。 *1:詳…
長年zshを使っているものの、シェルスクリプトが苦手なこともあってあまりカスタマイズしていなかった。Emacsのshell-modeばかり使っていたのでzsh本来の力を発揮させられなかった。GNU Screenを使っていればログが取れるんで、shell-modeでやらなくてもよく…
zsh 4.2以降ならばwindozeでいう「拡張子への関連付け」が行える。大昔から欲しかった機能だったが4.2以降ってかなり遅いのね…たとえば.jpgファイルにおいて alias -s jpg=xzgv と設定しておけば foo.jpg を見るためには ./foo.jpg と打つだけでよくなる。 …
d:id:rubikitch:20070925#zshicicles で考えていた正規表現による履歴検索。isearchになっていない代わりに id:rubikitch:20070927#1190850678 同様20個の選択肢から選ぶ形を取った。 # ここからはhistory-menuと共通 HISTORY_MENU_LENGTH=20 typeset -A HIS…
zshは複数行のコマンドを編集・実行できる。そして履歴は強力。だったら小さいスクリプトを丸ごと履歴に入れてしまえないかと考えてみたら、やはりその機能は存在した。print -s -f "%s" "`cat /path/to/shell-script`"
最近実行したコマンドをつなげて再実行したい場合みんなならどうする?直前のコマンドならば!!で実行できるね。zshならば!!のあとにTabを押すと実際のコマンドに展開されるし、!!などを使ってコマンドを実行しても展開された形で履歴に登録される。さすがzsh…
http://jndb.pc.mycom.co.jp/column/zsh/016/index.htmlwindozeでお馴染の拡張子とアプリケーション関連付け。これはzshでも実現可能だ。「alias -s」を使えば実行できないファイルを「実行」することで指定したアプリケーションで「開く」ことができる。 al…
% tar [tab] A -- append to an archive c -- create a new archive f -- specify archive file or device t -- list archive contents u -- update archive v -- verbose output x -- extract files from an archive たとえばtarの後でTabを押すとオプショ…
メモ。http://wiki.fdiary.net/zsh/?MatchAgainstNumbers http://www.ayu.ics.keio.ac.jp/members/mukai/translate/write_zsh_functions.html
Emacsのiciclesみたいに履歴を正規表現で探索したいんだよね。たとえばコマンド名と対象ファイルがわかっていてオプションを忘れた場合に「C-r command.+/hogehoge.txt」とできたら…zshは歴史長いと思うのだが、いまだにその機能が加わっていないのが不思議…
extended_globは **/* とか以外にほとんど使わないので、いざ欲しいときに忘れてしまう。プロセス置換もしかり。ここでワンキーでチートシートの表示ができたら嬉しい。普段Rubyばかりでシェルスクリプトを書かないので、苦労すると思うけど、シェル関数で書…