【コラム】
bashやtcshからzshに乗り換えたというユーザ達に、意外にも知られていない機能がある。それがファイルグロブをタブで展開するという機能である。これはzshでも群を抜いて便利な機能なので、ぜひ、知ってもらいたい。
例えばプロンプト1.1のような状況を想定しよう。EmacsでもViでもエディタならば何でも良いのだが、ファイルを編集してディレクトリ内がバックアップファイルだらけになってしまった、という経験のある読者の多いことだろう。
% ls
file1 file1~ file2.~1.4.~ file3.orig
file1.BAK file2 file2~ file3.~1.2.~
file1.~1.1.~ file2.bak file3 file3~
%
作業が完了した後はこれらバックアップファイルは不要なので、速やかに削除してしまいたいところだ。例えばプロンプト1.1であれば「rm *~」を実行してバックアップファイルを削除すれば良いわけだが、これには以下のような不安が残る。
とにもかくにも「*」を含む場合のrmコマンドを実行する際には、何かと気を使ってしまう。ファイルは削除してしまってからでは遅いのだ。だからわざわざプロンプト1.2のように、一度echoコマンドでファイルブログの内容を確認してから、コマンドを実行したりするのである。
% echo *~
file1.~1.1.~ file1~ file2.~1.4.~ file2~ file3.~1.2.~ file3~
%
しかしながら漢たるモノ、こうした馬鹿の付くほど正直な作業はぜひとも避けたい。シェルは使うものであって、使われるものではないのだ。zshの場合、こういったことにも簡単に対処できる。劇的ビフォア/アフタをプロンプト1.3と1.4に示す。
% rm *~[ここでタブキーを押す]
% rm file1.~1.1.~ file1~ file2.~1.4.~ file2~ file3.~1.2.~ file3~
タブキーを押すと、ファイルブログが展開されるのだ。つまりzshでは、ファイルブログを記述したらタブキーを押して展開し、処理される対象を確認してから作業を行えば簡単…というわけだ。
bashやtcshを使っていると、ファイルグロブをタグで展開するという癖がついていないので、ファイルグロブを使う場合はやはりecho確認を行ってしまう。しかし、zshを使い出したら、この機能は体に覚えて込ませておくべきである。cd -[Tab]とファイルグロブ[tab]はzshのとても便利な機能の1つだ。
zshのファイルグロブは表現自体もなかなか強力なので、入り組んだ指定をして一発でサクっと対象をすべて絞り込むこともできる。だいたいそういうのはユーザが忘れてしまうものなので、?と*という基本となるファイルグロブと、タブキーで展開して確認という2つを確実にマスターしておこう。入り組んだ指定は覚えてしまえば便利だが、マニュアルを読み返したりファイルグロブを考えている間に、?*とタブキー展開で作業した方が速いことが多い。
タブキーによるファイルグロブの展開はほかにもいろいろと使いやすいことが多い。例えば特定のディレクトリのフルパスをコピー&ペーストしたい場合など、途中までパスをタブキー補完で入力したら最後に*タブキーでその対象となるファイルやディレクトリを展開すれば良いし、いろいろ便利だ。これを機に活用してみよう。
| Skype for Linux 4.2登場 [20:56 5/22] |
| 資生堂、D-アミノ酸の新たな美肌効果を発見 - 化粧品に応用 [19:02 5/22] |
| Cypress、「PSoC 1」用IDE「PSoC Designer」の新バージョンを発表 [16:16 5/22] |
| SCREEN、プリント基板向け直接描画装置の高精細モデルを発表 [16:08 5/22] |
| 東北大、顔料からの有限長カーボンナノチューブ分子の合成に成功 [15:52 5/22] |
|
【インタビュー】神山健治監督が振り返る『009 RE:CYBORG』 - Blu-ray/DVDが5月22日発売 [00:30 5/23] ホビー |
|
弐瓶勉の正道ロボットSF「シドニアの騎士」がアニメ化 [00:00 5/23] ホビー |
|
クウガからウィザードまで! 一番くじ"仮面ライダー平成オールスター編"登場 [00:00 5/23] ホビー |
|
ブラッド・ピット、手術前にアンジェリーナ・ジョリーへ愛の手紙を読み上げて涙する [00:00 5/23] エンタメ |
|
Wii Uのバーチャルコンソールで『ロックマンX』の配信がスタート! [00:00 5/23] ホビー |