Skip to main content
  1. Entry/

常用fish bindings

常用している fishbind 設定を紹介する。

git #

リポジトリ移動 #

C-x g g ソース

gitリポジトリの管理にはghqを使っている。 このコマンドはghq管理のリポジトリディレクトリに素早く移動するためのもの。

お手軽に済ませるならfisherで https://github.com/decors/fish-ghq を入れて __ghq_repository_search (C-g) を使えばいい。 このくらいなら自分で書いてしまえばいいかということで上記プラグインは使っていない。 自分で書くついでに fzf--previewgit status を表示している。

ブランチにswitch #

C-x g b ソース

ブランチ一覧を表示、絞り込んで git switch する。 いちいちブランチ名を覚えていないことが多いので、switchはほぼこのコマンドに頼っている。

ディレクトリ移動 #

C-x g c ソース

ディレクトリ階層が深めのプロジェクトで便利。 リポジトリ内のどこにいても同じ操作で目的のディレクトリに移動できる。

github #

Pull Requestに対応したブランチにswitch #

C-x h p ソース

「ブランチにswitch」と同じ用途。 ブランチ名を全く覚えていないときに使う。

「ブランチにswitch」のブランチ一覧に、対応するPull Requsetがあれば補足として表示、みたいなことをやってもいいかもしれない。 そうすれば git switch する bind は一つで済みそう。

Codespaceにssh #

C-x c s ソース

(Codespacesは仕事でしか使ってなくて見せられない感じだったので、スクリーンキャプチャは省略)

gh codespace ssh を使いやすくしたもの。 本来であれば gh codespace list でCodespaceの名前を調べて、これを gh codespace ssh に渡す必要があるが、 いちいちそんな事やっていられないので候補から絞り込んでsshできるようにしている。 リストのフォーマットにcsv2tableをCLIコマンドとして使っている。

存在する Codespace 一覧を表示して、そこに ssh する。 Codespace の feature として sshd を有効にしている必要がある。

VSCodeでCodespacesを開くキーバインドも設定しているが、 VSCodeから直接 Codespaces: Connect to Codespace ... することのほうが多い

awscli #

コマンドリストを表示 #

C-x a h ソース

awscli のサブコマンドリストを一覧から選択してコマンドラインに入力する。

これについては前にも記事を書いていたのでそちらで。 この記事を書くために fish script を見直している時に、設定していたことを思い出したのは内緒。

困りごと #

いまはターミナルエミュレータとしてWarpを使っているのだが、これがfishの bind を受け付けてくれない。 はじめはWarpに workflow を登録してみたりもしたが、 絞り込みのためのfish functionを実行するためにworkflowを絞り込むのが面倒でやめた。 しょうがないので bindと同じキーでfishに abbr を設定してごまかしている。

おわり #

よく使うものをリストアップしたら、すべて fzf を使うものだった。 どうやら「たくさん選択肢があるものから目的のものを選んで実行」することを楽にしたい欲が強いらしい。