かわろぐ

技術、ボルダリング、セキュリティ、その他もろもろ

MENU

zsh から fish に乗り換えるまで

環境

  • fish 2.7.1

zsh の設定がわけわからなくなってきた

乗り換えようと思った理由はこれにつきます。色々な設定を継ぎ足し継ぎ足ししてきたので結構カオスな感じになっていたし、時々原因が特定できない shell がやたらと重いという現象にも悩まされていました。

zsh の設定をまっさらにしても良かったのですが、せっかくだから違うのを使ってみようと思い、見つけたのが fish でした。プラグイン管理ツールもあり、今のところいい感じです。

zsh から fish に乗り換えるまで

インストールは HomeBrew でコマンド一発で完了します。

brew install fish

デフォルトのshellを変更する

fish を HomeBrew で入れただけでは iTerm2 や Terminal を起動したときのshellは変わりません。

$ sudo vim /etc/shells
最終行に /usr/local/bin/fish を追記する
$ chsh -s /usr/local/bin/fish

プラグイン管理ツールを入れる

fish にはプラグイン管理ツール fisherman というものがあります。こいつのお陰で設定ファイルに色々ゴリゴリ書かなくてもいい感じに使えるようになります。

サクッと以下のコマンドでインストールしちゃいましょう。

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman

zshや vim でいろいろな設定やプラグインを入れまくって重くなったり管理がめんどくさくなったりしたので今回は必要最低限しか入れないようにしようと心に誓いました。今のところ必須なのは以下の2つでした。

$ fisher omf/plugin-peco
$ fisher pyenv

peco のプラグインは入れただけでは特にキーバインド等は設定してくれないので、 ~/.config/fish/config.fish に以下を記述してショートカットで呼び出せるようにします。

function fish_user_key_bindings
  bind \cr 'peco_select_history (commandline -b)'
end

プロンプト右側にgit のステータスを表示できるようにする

毎回 git branch して今どこのbranchにいるかや、 git stats してファイルの変更があるかなどを見るのはめんどくさすぎますよね。zsh でも git リポジトリに居るときだけ、branchやステータスを表示するようにしていたので、それと同じ事を実現します。

以下2つの設定ファイルに記述します。

config.fish

# fish git prompt
set __fish_git_prompt_showdirtystate 'yes'
set __fish_git_prompt_showstashstate 'yes'
set __fish_git_prompt_showuntrackedfiles 'yes'
set __fish_git_prompt_showupstream 'yes'
set __fish_git_prompt_color_branch yellow
set __fish_git_prompt_color_upstream_ahead green
set __fish_git_prompt_color_upstream_behind red

~/.config/fish/functions/fish_right_prompt.fish

function fish_right_prompt
  printf '%s' (__fish_git_prompt)
end

とりあえずこれで自分は生活できる用になりました。コマンドを打ち出したときにうっすら表示されるよく使うコマンドと引数の候補はとても便利ですね。 もうちょっと早く乗り換えればよかったなー。

参考文献

http://patorash.hatenablog.com/entry/2017/09/21/022657

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

  • 作者: ブルース・ブリン,Bruce Blinn,山下哲典
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2003/02
  • メディア: 単行本
  • 購入: 18人 クリック: 331回
  • この商品を含むブログ (64件) を見る

書評:人を動かすを読んで

D・カーネギーの有名な本です。ご存知の人や、読んだことがある人も多いのではないでしょうか。

人間関係の原理原則が書かれています。どの項目についても今まで生きてきた中で一度はどこかで聞いたことがある内容でした。でもこれらをしっかり実践出来ているかというとそんなことは全然ないと感じました。 原則だから大切にしなくては行けないとわかっていても、人間弱いからどうしても疎かになってしまう。

ふと気付かされてくれる本でした。

人を動かす 文庫版

人を動かす 文庫版

書評:サイバー攻撃 ネット世界の裏側で起きていること

CTF for Girls もやられている中島明日香さんの本ですね。

最初はどちらかといえば経営者向けな書籍なのかなと思って手に取りましたが、3章以降はプログラムも出てきて、技術的な内容もあり、入り方から、あまり技術的な内容に明るくない方も対象としているなーと感じ取れました。

プログラムの攻撃方法を理解するためには、プログラムの知識が必須だから仕方ないのだけど、途中からプログラミングの入門書を読んでいるような感覚になりましたw

扱われている脆弱性は、バッファオーバーフローとフォーマットストリングの二種類で、基本的ですが重要なものです。ソースや実行環境については巻末に記載が有りました。

後半はWebの脆弱性から、サイバー犯罪と脆弱性、法制度、協力体制についてまで扱っており、非常に幅の広い本になっています。今起きていることをちょっと技術よりで知りたい人にはおすすめです。

サイバー攻撃 ネット世界の裏側で起きていること (ブルーバックス)

サイバー攻撃 ネット世界の裏側で起きていること (ブルーバックス)

書評:サイバーセキュリティマネジメント入門を読んで

サイバーセキュリティマネジメント入門 (KINZAIバリュー叢書)

サイバーセキュリティマネジメント入門 (KINZAIバリュー叢書)

どちらかと言うと経営者向けの書籍で極力技術的な内容を排除して書かれています。用語の説明もかなり丁寧にされていました。

確かにコテコテの技術だけだと、もっとも重要な組織や人の部分が抜け落ちてしまいますからね。。人が一番脆弱だし、対応するのが大変だなと最近ひしひしと感じています。

書評:プロフェッショナルマネージャーを読んだ

プロフェッショナルマネジャー

プロフェッショナルマネジャー

この本を読んで印象に残った言葉

経営者は経営しなくてはならぬ。

それからこれ

本を読む時は初めから終わりへと読む。ビジネスの経営はそれとは逆だ。終わりから初めてそこへ到達するために出来る限りのことをするのだ。

この本には、筆者がITTで経験してきたことが凝縮されています。中盤は給与の考え方など、薄々わかってはいたけどそうだよなーという感じでした。さらに取締役会を dis っているのは面白い点です。

終盤は数字的な面と情緒的な面を使い分けられるかと、自分の時間の大部分を仕事に捧げることができるかどうかでトップマネージャになれるかどうかが書かれていました。