Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
zshでコマンドライン
履歴を活用する2015/05/04
三宅 英明(mollifier)
自己紹介
名前: 三宅 英明
Twitter: @mollifier
はてなID: mollifier
神戸のプログラマ
好きなもの
zsh
vim
vimperator
ブログとか
はてなブログ
http://mollifier.hatenablog.com/
Twitter
http://twitter.com/mollifier
Qiita
http://qiita.com/mollifier
zshでコマンドライン履歴を活用
する
コマンドライン履歴とは
実行したコマンドを覚えていて、後
から使えるやつ
コマンドライン履歴
過去に入力したコマンドをもう一度
入力したいことが、けっこうある
コマンドライン履歴
毎日のように使うコマンドで、決まり
きったパターンを何回も入力するの
がめんどう
だいぶ前に入力したあのコマンドを
もう一度使いたいけど、引数の指定
とか忘れてしまった
コマンドライン履歴
そんなときはコマンドライン履歴を
使えばOK
1回入力したコマンドラインを覚えて
おいて、あとから使える
コマンドライン履歴を保存する
とりあえず基本の設定
HISTFILE=~/.zsh_history
HISTSIZE=1000000
SAVEHIST=1000000
コマンドライン履歴を保存する
HISTFILEはコマンドライン履歴を保
存するファイル名の指定
何でもいいけど、~/.zsh_historyと
している人が多いもよう
別のファイル名でもいい
コマンドライン履歴を保存する
HISTSIZE、SAVEHISTはコマンドラ
イン履歴を何行保存するかの設定
普通は同じ値を設定しておけばOK
コマンドライン履歴を保存する
多めの設定を推奨
1万とか、なんかセコい
コマンドライン履歴を保存する
目安としては一生使っても使い切れ
ないぐらいの量
100万にしたら普通の人は100年
使っても足りるので、だいたいそれ
ぐらいでOK
気前よく1億とかにしてもOK
コマンドライン履歴を保存する
これでコマンドライン履歴が保存さ
れるようになる
コマンドライン履歴のためのオ
プション
これも足しておいたほうがいい
setopt share_history
setopt hist_ignore_all_dups
コマンドライン履歴のためのオ
プション
setopt share_history
同時に起動したzshの間でヒストリ
を共有する
コマンドライン履歴のためのオ
プション
setopt hist_ignore_all_dups
同じコマンドをヒストリに残さない
コマンドライン履歴
これで準備完了
コマンドライン履歴を活用する
保存するだけでは意味がない
保存したやつを後から便利に使う
方法を紹介する
コマンドライン履歴の活用(1)
コマンドライン履歴を閲覧するには、
historyコマンドを使う
% history
2880 cd
2881 ls
2882 cd work
2883 git status
コマンドライン履歴の活用(1)
historyコマンドで、最近16件の履
歴が表示される
コマンドライン履歴の活用(1)
全件表示したいときは引数を付ける
% history 1
1 mkdir work
2 ls
3 cd work
...
コマンドライン履歴の活用(1)
history 番号で、表示を開始する
番号を指定する
マイナスの番号も指定できる。例え
ばhistory -10で最近10件の履歴
を表示する
コマンドライン履歴の活用(1)
特にhistory 1で、すべてのコマン
ドライン履歴を表示する
コマンドライン履歴の活用(1)
もう一つ大事なオプション。history -
nで、履歴の番号を表示しなくなる
% history -n
cd
ls
cd work
git status
コマンドライン履歴の活用(1)
これで履歴を表示して、grepで検索す
る
% history -n 1 | grep 'git'
git commit
git init
git commit --ammend
...
コマンドライン履歴の活用(1)
汎用的。シェルの種類は関係ない
あんまりお手軽ではない
でも、正規表現で細かく条件を指定
して探せる
コマンドライン履歴の活用(1)
こんなaliasを設定しておくと便利
alias history-all='history -n 1'
コマンドライン履歴の活用(2)
インクリメンタル検索する
標準のCtrl+rで使える
コマンドライン履歴の活用(2)
デモ
コマンドライン履歴の活用(2)
これを~/.zshrcに書くと、インクリメンタ
ル検索でパターンマッチが使えるよう
になる
bindkey '^R' history-incremental-pattern-search-backward
コマンドライン履歴の活用(2)
記号としては、次の2つを覚えておけば
OK
記号 意味
* 長さ0以上の任
意の文字列
^ コマンドラインの
先頭
コマンドライン履歴の活用(3)
今の入力を元にコマンドライン履歴か
ら補完する
autoload -Uz history-search-end
zle -N history-beginning-search-backward-end 
hist...
コマンドライン履歴の活用(3)
言葉では説明しにくいのでデモを見
せる
コマンドライン履歴の活用(3)
これが便利
キーバインドはお好みで
コマンドライン履歴を活用する
grepで全件から検索
インクリメンタル検索
今の入力を元に履歴から補完
とりあえずこれぐらいでOK
コマンドライン履歴を活用する
コマンドライン履歴は、自分がシェ
ルを使った記録が保存されている
大事なデータ
ブックマークやスニペットのようなも
の
コマンドライン履歴を活用する
もう、1回入力したコマンドは2度と
手入力しない
2回入力してしまったら死ぬ、ぐらい
の勢いで
コマンドライン履歴を活用する
細かい引数とかを覚えてなくてもコ
マンドが使えるようになる
シェルの操作が速く、確実になるの
で、上手に活用してください
zshでコマンドライン履歴を活用
する
ありがとうございました
Upcoming SlideShare
Loading in …5
×

zshでコマンドライン履歴を活用する

841 views

Published on

zshでコマンドライン履歴を活用する

Published in: Technology
  • Be the first to comment

  • Be the first to like this

zshでコマンドライン履歴を活用する

  1. 1. zshでコマンドライン 履歴を活用する2015/05/04 三宅 英明(mollifier)
  2. 2. 自己紹介 名前: 三宅 英明 Twitter: @mollifier はてなID: mollifier 神戸のプログラマ
  3. 3. 好きなもの zsh vim vimperator
  4. 4. ブログとか はてなブログ http://mollifier.hatenablog.com/ Twitter http://twitter.com/mollifier Qiita http://qiita.com/mollifier
  5. 5. zshでコマンドライン履歴を活用 する コマンドライン履歴とは 実行したコマンドを覚えていて、後 から使えるやつ
  6. 6. コマンドライン履歴 過去に入力したコマンドをもう一度 入力したいことが、けっこうある
  7. 7. コマンドライン履歴 毎日のように使うコマンドで、決まり きったパターンを何回も入力するの がめんどう だいぶ前に入力したあのコマンドを もう一度使いたいけど、引数の指定 とか忘れてしまった
  8. 8. コマンドライン履歴 そんなときはコマンドライン履歴を 使えばOK 1回入力したコマンドラインを覚えて おいて、あとから使える
  9. 9. コマンドライン履歴を保存する とりあえず基本の設定 HISTFILE=~/.zsh_history HISTSIZE=1000000 SAVEHIST=1000000
  10. 10. コマンドライン履歴を保存する HISTFILEはコマンドライン履歴を保 存するファイル名の指定 何でもいいけど、~/.zsh_historyと している人が多いもよう 別のファイル名でもいい
  11. 11. コマンドライン履歴を保存する HISTSIZE、SAVEHISTはコマンドラ イン履歴を何行保存するかの設定 普通は同じ値を設定しておけばOK
  12. 12. コマンドライン履歴を保存する 多めの設定を推奨 1万とか、なんかセコい
  13. 13. コマンドライン履歴を保存する 目安としては一生使っても使い切れ ないぐらいの量 100万にしたら普通の人は100年 使っても足りるので、だいたいそれ ぐらいでOK 気前よく1億とかにしてもOK
  14. 14. コマンドライン履歴を保存する これでコマンドライン履歴が保存さ れるようになる
  15. 15. コマンドライン履歴のためのオ プション これも足しておいたほうがいい setopt share_history setopt hist_ignore_all_dups
  16. 16. コマンドライン履歴のためのオ プション setopt share_history 同時に起動したzshの間でヒストリ を共有する
  17. 17. コマンドライン履歴のためのオ プション setopt hist_ignore_all_dups 同じコマンドをヒストリに残さない
  18. 18. コマンドライン履歴 これで準備完了
  19. 19. コマンドライン履歴を活用する 保存するだけでは意味がない 保存したやつを後から便利に使う 方法を紹介する
  20. 20. コマンドライン履歴の活用(1) コマンドライン履歴を閲覧するには、 historyコマンドを使う % history 2880 cd 2881 ls 2882 cd work 2883 git status
  21. 21. コマンドライン履歴の活用(1) historyコマンドで、最近16件の履 歴が表示される
  22. 22. コマンドライン履歴の活用(1) 全件表示したいときは引数を付ける % history 1 1 mkdir work 2 ls 3 cd work ...
  23. 23. コマンドライン履歴の活用(1) history 番号で、表示を開始する 番号を指定する マイナスの番号も指定できる。例え ばhistory -10で最近10件の履歴 を表示する
  24. 24. コマンドライン履歴の活用(1) 特にhistory 1で、すべてのコマン ドライン履歴を表示する
  25. 25. コマンドライン履歴の活用(1) もう一つ大事なオプション。history - nで、履歴の番号を表示しなくなる % history -n cd ls cd work git status
  26. 26. コマンドライン履歴の活用(1) これで履歴を表示して、grepで検索す る % history -n 1 | grep 'git' git commit git init git commit --ammend ...
  27. 27. コマンドライン履歴の活用(1) 汎用的。シェルの種類は関係ない あんまりお手軽ではない でも、正規表現で細かく条件を指定 して探せる
  28. 28. コマンドライン履歴の活用(1) こんなaliasを設定しておくと便利 alias history-all='history -n 1'
  29. 29. コマンドライン履歴の活用(2) インクリメンタル検索する 標準のCtrl+rで使える
  30. 30. コマンドライン履歴の活用(2) デモ
  31. 31. コマンドライン履歴の活用(2) これを~/.zshrcに書くと、インクリメンタ ル検索でパターンマッチが使えるよう になる bindkey '^R' history-incremental-pattern-search-backward
  32. 32. コマンドライン履歴の活用(2) 記号としては、次の2つを覚えておけば OK 記号 意味 * 長さ0以上の任 意の文字列 ^ コマンドラインの 先頭
  33. 33. コマンドライン履歴の活用(3) 今の入力を元にコマンドライン履歴か ら補完する autoload -Uz history-search-end zle -N history-beginning-search-backward-end history-search-end bindkey "^O" history-beginning-search-backward-end
  34. 34. コマンドライン履歴の活用(3) 言葉では説明しにくいのでデモを見 せる
  35. 35. コマンドライン履歴の活用(3) これが便利 キーバインドはお好みで
  36. 36. コマンドライン履歴を活用する grepで全件から検索 インクリメンタル検索 今の入力を元に履歴から補完 とりあえずこれぐらいでOK
  37. 37. コマンドライン履歴を活用する コマンドライン履歴は、自分がシェ ルを使った記録が保存されている 大事なデータ ブックマークやスニペットのようなも の
  38. 38. コマンドライン履歴を活用する もう、1回入力したコマンドは2度と 手入力しない 2回入力してしまったら死ぬ、ぐらい の勢いで
  39. 39. コマンドライン履歴を活用する 細かい引数とかを覚えてなくてもコ マンドが使えるようになる シェルの操作が速く、確実になるの で、上手に活用してください
  40. 40. zshでコマンドライン履歴を活用 する ありがとうございました

×