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.
本格的に始めるzsh2015/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
具体的なzshの使い方を勉強しまし
ょう
本格的に始めるzsh
いろんな機能があるけど
本格的に始めるzsh
今日はこの3つを紹介
補完
ディレクトリ移動
コマンドライン履歴
本格的に始めるzsh
この3つが使えればだいたいいける
本格的に始めるzsh
補完
ディレクトリ移動
コマンドライン履歴
補完
zshといえば補完機能が有名。
これを~/.zshrcに書いて、あとはTabを
押す。
autoload -Uz compinit
compinit
補完
cd
ディレクトリだけ補完
補完
man
manのページ名を補完
補完
grep
–with-filename –recursive とか長いオプ
ションを補完
補完
find
最初はディレクトリを補完。その後は-name
とか-type dとか、なんでも補完
補完
chmod
644のときはすでに644なファイルは補完し
ない。+xとかでも同様
補完
tar
tar xzfのときは.tar.gzファイルだけ補完。そ
の後は展開対象ファイルをtarの中身から補
完
補完
make
makeのターゲットを補完
補完
apt-get
apt-get installの後はインストールできるパ
ッケージ名を補完
補完
brew
brew installの後はインストールできるパッ
ケージ名を補完
補完
scp
コピー元またはコピー先ファイルとして、ssh
でログインできるリモートサーバーのファイル
名を補完
補完
git
サブコマンドもオプションも、なんでも補完。
git addの後はaddが必要なファイルだけ補
完
補完
他にもいろいろあります。
補完
使い方もTabを押すだけで簡単。何で
もTabで補完。
補完
Tabを押してちゃんと補完できなかっ
たらバグと思ってよい
補完
zshを使い始めたら、まずは補完を堪
能してほしい
補完
さらに補完を強化したいときは、zsh-
completionsをインストールする
zsh-completionsとは
標準に含まれていない補完ファイル
を集めたやつ
さっき言ったbrewとかもこれを入れ
ないと補完できない
zsh-completionsをインストー
ルする
$HOME/.zsh/の下にインストールす
る場合の例
% mkdir $HOME/.zsh/ # ディレクトリがまだない場合は作成する)
% cd $HOME/.zsh/
% git clo...
zsh-completionsをインストー
ルする
その後、~/.zshrcに次を追加
fpath=($HOME/.zsh/zsh-completions/src(N-/) $fpath)
注意として、これはcompinitの前に書
く
zsh-completionsをインストー
ルする
または、Macの場合はHomebrewを
使ってもインストールできる
% brew install zsh-completions
zsh-completionsをインストー
ルする
この後、~/.zshrcに次を追加
fpath=(/usr/local/share/zsh-completions(N-/) $fpath)
zsh-completionsをインストー
ルする
ただし、Homebrewで入れるやつは若
干古いので、GitHubから取ってくる方
がおすすめ
補完に関する設定
基本的にはTabを押せばいいんだけ
ど、もうちょっと細かく設定したほうが
よいところもある
補完に関する設定
大文字と小文字を区別しない
補完候補をうろうろ選ぶ
大文字と小文字を区別しない
次を~/.zshrcに書く
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
これで「小文字のときに大文字も補完
に含まれる」
大文字と小文字を区別しない
% cat reの後にTABを押すと、
readme.mdもREADME.mdも補完で
きる
大文字と小文字を区別しない
% cat REの後にTABを押すと、
README.mdだけが補完できる
(readme.mdは含まれない)
大文字と小文字を区別しない
Shiftを押さなくてよくなる
補完候補をうろうろ選ぶ
補完候補をうろうろ選ぶやつもあり
ます
正式にはメニュー補完と呼びます
補完候補をうろうろ選ぶ
次を~/.zshrcに書く
zstyle ':completion:*:default' menu select=2
補完候補をうろうろ選ぶ
Ctrl+n, Ctrl+fとかEmacs風の操作で
補完候補が選べる
補完
これぐらいやっておけば補完はOK
本格的に始めるzsh
補完
ディレクトリ移動
コマンドライン履歴
ディレクトリ移動
ディレクトリ移動は頻度が高い
なので重要
ディレクトリ移動
とりあえずこの設定を使っておけばOK
setopt auto_cd
setopt auto_pushd
setopt pushd_ignore_dups
ディレクトリ移動
setopt auto_cd
ディレクトリ名だけでcdする
ディレクトリ移動
auto_pushd
cdしたら勝手にpushdする
ディレクトリ移動
pushd_ignore_dups
pushdで残るディレクトリ一覧で、重複
したものは残さないようにする
ディレクトリ移動
この3つでcdした履歴が残る感じにな
るので、まあ便利
setopt auto_cd
setopt auto_pushd
setopt pushd_ignore_dups
ディレクトリ移動
auto_pushdの履歴はzshを終了し
たら消える
ディレクトリ移動の履歴を永続化し
て、終了しても保存されるようにした
いときは、cdrを使う
cdrを使う
cdrはzshに標準で含まれているので、
使うのは簡単
autoload -Uz add-zsh-hook
autoload -Uz chpwd_recent_dirs cdr
add-zsh-hook chpwd chpwd_r...
cdrを使う
あとは適当にcdして、cdr のあとTAB
で移動したディレクトリが補完される
cdrを使う
なかなか便利なやつ
ディレクトリ移動
ディレクトリ移動は、まあこれぐらい
でOK
本格的に始めるzsh
補完
ディレクトリ移動
コマンドライン履歴
コマンドライン履歴
これは次の発表で紹介する
まとめ
zshの機能はいろいろあるけど、この3
つを設定しておけばだいたい大丈夫っ
ぽい
補完
ディレクトリ移動
コマンドライン履歴
まとめ
他の機能はおいおいやっていけば
いいと思う
まとめ
GitHubとかに.zshrcの見本がいっぱ
いあるので、それを参考にするのもよ
い
まとめ
少し凝った zshrc
https://gist.github.com/
mollifier/4979906
まとめ
ただし、解説もない、自分で意味の分
からない設定を適当にコピペするのは
避けたほうが良い
まとめ
何百行もまとめてコピペしました
自分にはちょっと合わない、変な動
作になりました
でも、元に戻したくてもどこを消せば
よいのか分かりません
まとめ
とかある
まとめ
小さめの設定ファイルをコピペする
ひとつ設定を変えたら、それでしば
らく使ってみて様子を見る
とか、ちょっとずつ試してみるのがよさ
そう
まとめ
みなさんも試してみてください
本格的に始めるzsh
ありがとうございました
Upcoming SlideShare
Loading in …5
×

本格的に始めるzsh

984 views

Published on

本格的に始めるzsh

Published in: Technology
  • Be the first to comment

本格的に始めるzsh

  1. 1. 本格的に始めるzsh2015/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 具体的なzshの使い方を勉強しまし ょう
  6. 6. 本格的に始めるzsh いろんな機能があるけど
  7. 7. 本格的に始めるzsh 今日はこの3つを紹介 補完 ディレクトリ移動 コマンドライン履歴
  8. 8. 本格的に始めるzsh この3つが使えればだいたいいける
  9. 9. 本格的に始めるzsh 補完 ディレクトリ移動 コマンドライン履歴
  10. 10. 補完 zshといえば補完機能が有名。 これを~/.zshrcに書いて、あとはTabを 押す。 autoload -Uz compinit compinit
  11. 11. 補完 cd ディレクトリだけ補完
  12. 12. 補完 man manのページ名を補完
  13. 13. 補完 grep –with-filename –recursive とか長いオプ ションを補完
  14. 14. 補完 find 最初はディレクトリを補完。その後は-name とか-type dとか、なんでも補完
  15. 15. 補完 chmod 644のときはすでに644なファイルは補完し ない。+xとかでも同様
  16. 16. 補完 tar tar xzfのときは.tar.gzファイルだけ補完。そ の後は展開対象ファイルをtarの中身から補 完
  17. 17. 補完 make makeのターゲットを補完
  18. 18. 補完 apt-get apt-get installの後はインストールできるパ ッケージ名を補完
  19. 19. 補完 brew brew installの後はインストールできるパッ ケージ名を補完
  20. 20. 補完 scp コピー元またはコピー先ファイルとして、ssh でログインできるリモートサーバーのファイル 名を補完
  21. 21. 補完 git サブコマンドもオプションも、なんでも補完。 git addの後はaddが必要なファイルだけ補 完
  22. 22. 補完 他にもいろいろあります。
  23. 23. 補完 使い方もTabを押すだけで簡単。何で もTabで補完。
  24. 24. 補完 Tabを押してちゃんと補完できなかっ たらバグと思ってよい
  25. 25. 補完 zshを使い始めたら、まずは補完を堪 能してほしい
  26. 26. 補完 さらに補完を強化したいときは、zsh- completionsをインストールする
  27. 27. zsh-completionsとは 標準に含まれていない補完ファイル を集めたやつ さっき言ったbrewとかもこれを入れ ないと補完できない
  28. 28. zsh-completionsをインストー ルする $HOME/.zsh/の下にインストールす る場合の例 % mkdir $HOME/.zsh/ # ディレクトリがまだない場合は作成する) % cd $HOME/.zsh/ % git clone git://github.com/zsh-users/zsh-completions.git
  29. 29. zsh-completionsをインストー ルする その後、~/.zshrcに次を追加 fpath=($HOME/.zsh/zsh-completions/src(N-/) $fpath) 注意として、これはcompinitの前に書 く
  30. 30. zsh-completionsをインストー ルする または、Macの場合はHomebrewを 使ってもインストールできる % brew install zsh-completions
  31. 31. zsh-completionsをインストー ルする この後、~/.zshrcに次を追加 fpath=(/usr/local/share/zsh-completions(N-/) $fpath)
  32. 32. zsh-completionsをインストー ルする ただし、Homebrewで入れるやつは若 干古いので、GitHubから取ってくる方 がおすすめ
  33. 33. 補完に関する設定 基本的にはTabを押せばいいんだけ ど、もうちょっと細かく設定したほうが よいところもある
  34. 34. 補完に関する設定 大文字と小文字を区別しない 補完候補をうろうろ選ぶ
  35. 35. 大文字と小文字を区別しない 次を~/.zshrcに書く zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' これで「小文字のときに大文字も補完 に含まれる」
  36. 36. 大文字と小文字を区別しない % cat reの後にTABを押すと、 readme.mdもREADME.mdも補完で きる
  37. 37. 大文字と小文字を区別しない % cat REの後にTABを押すと、 README.mdだけが補完できる (readme.mdは含まれない)
  38. 38. 大文字と小文字を区別しない Shiftを押さなくてよくなる
  39. 39. 補完候補をうろうろ選ぶ 補完候補をうろうろ選ぶやつもあり ます 正式にはメニュー補完と呼びます
  40. 40. 補完候補をうろうろ選ぶ 次を~/.zshrcに書く zstyle ':completion:*:default' menu select=2
  41. 41. 補完候補をうろうろ選ぶ Ctrl+n, Ctrl+fとかEmacs風の操作で 補完候補が選べる
  42. 42. 補完 これぐらいやっておけば補完はOK
  43. 43. 本格的に始めるzsh 補完 ディレクトリ移動 コマンドライン履歴
  44. 44. ディレクトリ移動 ディレクトリ移動は頻度が高い なので重要
  45. 45. ディレクトリ移動 とりあえずこの設定を使っておけばOK setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups
  46. 46. ディレクトリ移動 setopt auto_cd ディレクトリ名だけでcdする
  47. 47. ディレクトリ移動 auto_pushd cdしたら勝手にpushdする
  48. 48. ディレクトリ移動 pushd_ignore_dups pushdで残るディレクトリ一覧で、重複 したものは残さないようにする
  49. 49. ディレクトリ移動 この3つでcdした履歴が残る感じにな るので、まあ便利 setopt auto_cd setopt auto_pushd setopt pushd_ignore_dups
  50. 50. ディレクトリ移動 auto_pushdの履歴はzshを終了し たら消える ディレクトリ移動の履歴を永続化し て、終了しても保存されるようにした いときは、cdrを使う
  51. 51. cdrを使う cdrはzshに標準で含まれているので、 使うのは簡単 autoload -Uz add-zsh-hook autoload -Uz chpwd_recent_dirs cdr add-zsh-hook chpwd chpwd_recent_dirs
  52. 52. cdrを使う あとは適当にcdして、cdr のあとTAB で移動したディレクトリが補完される
  53. 53. cdrを使う なかなか便利なやつ
  54. 54. ディレクトリ移動 ディレクトリ移動は、まあこれぐらい でOK
  55. 55. 本格的に始めるzsh 補完 ディレクトリ移動 コマンドライン履歴
  56. 56. コマンドライン履歴 これは次の発表で紹介する
  57. 57. まとめ zshの機能はいろいろあるけど、この3 つを設定しておけばだいたい大丈夫っ ぽい 補完 ディレクトリ移動 コマンドライン履歴
  58. 58. まとめ 他の機能はおいおいやっていけば いいと思う
  59. 59. まとめ GitHubとかに.zshrcの見本がいっぱ いあるので、それを参考にするのもよ い
  60. 60. まとめ 少し凝った zshrc https://gist.github.com/ mollifier/4979906
  61. 61. まとめ ただし、解説もない、自分で意味の分 からない設定を適当にコピペするのは 避けたほうが良い
  62. 62. まとめ 何百行もまとめてコピペしました 自分にはちょっと合わない、変な動 作になりました でも、元に戻したくてもどこを消せば よいのか分かりません
  63. 63. まとめ とかある
  64. 64. まとめ 小さめの設定ファイルをコピペする ひとつ設定を変えたら、それでしば らく使ってみて様子を見る とか、ちょっとずつ試してみるのがよさ そう
  65. 65. まとめ みなさんも試してみてください
  66. 66. 本格的に始めるzsh ありがとうございました

×