fishがすごい

fishというshellがモダンでいろいろ便利ですが、bashなどの昔ながらのshellを前提に作られているものが動かなくなることがあります。 最初に遭遇したのが、emacsでgrep-findに失敗する事例です。 {}のプレースホルダーをfishではうまく解釈してくれません。 というわけで、grepモードではshell-file-namebashに変更します。

(use-package grep
  :init
  (add-hook 'grep-setup-hook (lambda ()
                               (setq-local shell-file-name "bash"))))

fishでは

$ find . -exec wc -l '{}' \;

このように{}'で囲ってあげる必要があります。

fishにはfishermanというプラグイン管理ツールがあり、これを使うと簡単にプグインをインストールできます。 fishermanをインストールするとfisherコマンドが使えるようになり、

$ fisher install edc/bass

でedc/bassをインストールすると、bash&&||などが使えるようになります。

おしまい。