fishでrange(範囲指定)展開したかったけど諦めた

$ echo {1..200}

みたいなブレースで囲うrange展開をしたかったんですよ自分は。

結論

fishではシュッとやるの無理っぽいので

echo (seq 200)

でやる。自分はシュッとやりたかった。

そういうわけで例えば連番フォルダをfishでつくりたいときは

mkdir hoge(seq 200)

これでhoge1からhoge200までのフォルダ作成ができた。


こういう\nキーバインドしてワイルドなことやる方法もあるみたいです。

qiita.com

fishシェルでmkdir hoge && cd $_したかったけど面倒だった

結論

bashにはこういう文化があって便利。

shuzo-kino.hateblo.jp

fishでもやりたかったけど、なんだか面倒だったので&& cd $_形式でやるのは諦めた。

qiita.com

のでこの方のQiita記事のものを使わせていただいてこれからはmkcd hogeでやっていくことにした。

fishに$_相当のものがない

fishはbashコマンドと勝手が違うのでbashあるいはzshでやってたアレができないみたいなことに結構なる。

fishのリポジトリwikiに実はbash/fishコマンド変換表があるのだけど

$_相当のlast argmentがなさげ(?)

自分でfunction書くしかない

&&も独自

fishでは&&もなくて変わりに; andで書くことになっている。

なので仮に$_があっても

mkdir hoge; and cd $_

になってなんだかなという気持ちになってしまった。

諦め

こんなことならもう別のコマンドで代用すればいいじゃんという気持ちになったところで最初に書いたQiitaの記事を見つけたのであのfunctionでやっていくことにした。


余談

!!とか!$とか

qiita.com

こういう問題もある。

本件は

リポジトリWikiにまとまっていて、

関連するIssueはここ。

Wikiには自分でfunctionとkeybindingを用意するようになっているけど、調べたらomfにもそれっぽいのはあって

これ入れるだけでもなんとかなりそう。自分は使ってないけど…。


というか!!をbang_bangっていうのをはじめて知った