ミームの死骸を待ちながら

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators. We, alone on earth, can rebel against the tyranny of the selfish replicators. - Richard Dawkins "Selfish Gene"

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators.
We, alone on earth, can rebel against the tyranny of the selfish replicators.
- Richard Dawkins "Selfish Gene"

bash/zshのコマンドライン履歴機能。直前のコマンド、直前の引数。


よく忘れるので例示と共にメモ。ここらへん押さえておくと作業効率が上がる。bashのページで発見したものを載せている。zshでも確認した。

実行系

  • !!
    • 直前に実行したコマンドを再現
  • !+何かの文字

!sudoとすれば、sudoで始まる直近の実行コマンドを再度実行。他にヒットしないのがわかってれば、!suとか!sでもいい。最短マッチ。

  • !:s/foo/bar
    • 直前に実行したコマンドのfooをbarにして実行。gsにするとすべて置換
      • これは便利!!

$ vim ../../.zshrc
$ !:s/zsh/vim

  • !n
    • n番目のコマンドを実行。
      • hisotry | grep hogeして確認してから使うなど*1

代わりの名前系(単語指示子、というらしい)

使うケースは多い。

$ ls /etc/hoge/fuga/
$ cd !^

とか。!^が最初の引数、!$で最後、!:nでn番目、!*ですべての引数を表す。引数が一つで単純に「さっき引数にした奴」を取りたいなら、左手だけで打てる「!$」を使う事が多いかな。


オプション
  • ディレクトリ
    • !^:h で、パスのディレクトリ部分取得。逆に
    • !^:t で、パスのディレクトリ部分を除いて、ファイル名だけ取得

zshの本 (エッセンシャルソフトウェアガイドブック)
zshの本 (エッセンシャルソフトウェアガイドブック)
技術評論社 2009-06-17
売り上げランキング : 203455

おすすめ平均 star
startcsh/bash からの乗換えに zsh の本

Amazonで詳しく見る
by G-Tools

*1:ちなみにhistory+grepには「hig」をaliasしている