- fish-mode 20170430.623(in MELPA)
- Major mode for fish shell scripts
概要
『なぁ、fishって知ってる?』
「なんだよ、魚かよ」
『ちがうよ、シェルだよシェル!』
「えっ」
『君、シェルなに使ってる?』
「bashだけど」
『俺もzshずっと使ってきたけど使いきれなくてさ』
「そこでfishか」
『ああ、fishすごいぜ!設定しなくてもいきなり便利でさ』
「なんだって?俺、bashの使い方や便利な設定探すのにどれだけかかったか」
『俺もだ。めったに使わない機能とか覚えられなくてさ、とにかくfishすごいぜ』
「そんなにすごいのか」
『ああ、惚れ込んだぜ!もうzshもいらない子だ』
「シェルスクリプトも苦手でさあ」
『fishは独自のシェルスクリプトだよ。すごいクリーンだ』
「どんな?」
『LuaやRubyっぽい。黒魔術なしですぐに覚えられるよ』
「じゃあ俺も使ってみるぜ。サンキュ」
fish-mode.el は fish シェルスクリプトのメジャーモードです。
パッケージからインストールするだけで
.fishファイルがで自動的に有効になります。
まだキーワードハイライトやインデントなどの基本的な機能しかありません。
実装の方はsh-mode(shell-script-mode)のderived-modeではなくて
独立したメジャーモードとなっています。
シェルスクリプトでありながらもシェルスクリプトではないです。
if/else/for/switch/while/not/function/return/endなどが予約語の
Luaっぽい構文の別言語だからです。
補完やsuggestionが超強力で、シェルスクリプトがクリーンなので
僕はメインのシェルをeshellから乗り換えました。
Emacsの範囲内ではとうていfishのユーザーインターフェースに追い付けないからです。
Emacsの情報をfishからアクセスできるようにしたことと、
fishでの出力ログをEmacsで参照できるようにした以上、
eshellにこだわる必要がなくなったからです。
zsh?知らんな(笑)
タイトルでは煽りましたが、それくらいfishは一度試す価値はあります。
一度使ってみてそれでもbashやzshがいいのならば
あなたは相当な熟練者です。
シェル初中級者ならばfishを気に入るのは間違いありません。
あなたもfishを使ってみませんか?
- http://fishshell.com/
- http://qiita.com/mtwtk_man/items/dde92d0a6024bc61fa58
- http://yoshiori.github.io/blog/2015/11/03/from-zsh-to-fish/
- http://kip-s.hateblo.jp/entry/2016/01/06/204119
Fig1: こんな感じ
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてfish-modeを使う方は
以下のコマンドを実行します。
M-x package-install fish-mode
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name fish-mode
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。