- 作者: 広瀬雄二,A5
- 出版社/メーカー: 技術評論社
- 発売日: 2009/06/17
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 126回
- この商品を含むブログ (36件) を見る
ちゃんと調べるでもなく何となく入れて使ってみてる、という程度だったので、本を読んでみると知らなかったことがたくさん出てきて面白い。
コマンドラインスタック
長いコマンドを途中まで打って、「あ、これ実行する前にあのコマンドでアレを確認しておきたい…!」というときに"Esc-Q"でコマンドをスタックに退避させておくことができる、とのこと。
$ touch /hoge/fuga/piyo/dummy{1..100}
とファイルを作ろうと思ったところで、あ、その前にディレクトリを作っておいてそこに作るようにしなきゃ、と思ったら"Esc-Q"。一回コマンドラインはクリアされる。改めてmkdirを実行
$ mkdir /hoge/fuga/piyo
…と、その前にいま何時だっけ、というとき、また"Esc-Q"でさらにスタックへ
$ date Tue May 25 09:30:20 JST 2010 $ mkdir /hoge/fuga/piyo
すると、実行後にさっき途中まで打ったコマンドが復元される。それも実行するとその前にスタックに入れた最初のコマンドが復元される。
使い込まないと咄嗟には出て来ないかも知れないけど、コマンド途中まで打ってから一回消して戻る、とかはよくやっているような気がするので便利かも。
変数の展開修飾子
本では「編集子」って書いてあるけど「修飾子」の方がググったときにヒットしやすい気が。
例えばパスを表す変数$PWDとかに対し、末尾に":h"とか":t"とかつけることで加工して展開してくれる。
$ pwd /Users/sugyan/temp/hoge $ echo $PWD /Users/sugyan/temp/hoge $ echo $PWD:h /Users/sugyan/temp $ echo $PWD:t hoge
という具合に。他にも、
$ echo $PWD:u /USERS/SUGYAN/TEMP/HOGE $ echo $PWD:gs/e/Z/ /UsZrs/sugyan/tZmp/hogZ
など色々加工できる。このへんはbashではヒストリ展開のときにしか使えないそうな。
この展開修飾子については
man zshexpn
の"Modifiers"の項をみると色々書いてあるようだ。覚えられる気がしないけどw
追記
id:hchbawさんからトラックバックで教えていただきました! "(:"とすることでこの展開編集子もちゃんと補完されます!
それ補完できます!RE:zshの変数の展開編集子 - hchbaw記
なるほどー、この補完使えばいちいち覚える必要ないですね! ありがとうございます!!