この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
fish の設定ファイルをいじろうとするたびに「fish config」でググるのが辛くなったのでツールを作りました。
anyconf
https://github.com/inabajunmr/anyconf
動作イメージ
動作確認環境
$ go version
go version go1.13.8 darwin/amd64
$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Jun 5 2020 21:30:37)
macOS version
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H114
インストール
go get github.com/inabajunmr/anyconf
使い方
anyconf
で以下のように対応しているツールの一覧が表示されます。
$ anyconf
? What's next key? [Use arrows to move, enter to select, type to filter]
> fish
screen
git
aws
bash
curl
npm
この状態でタイプするとツールの絞り込みができます。
$ anyconf
? What's next key? g [Use arrows to move, enter to select, type to filter]
> git
wget
ツールを選択すると対応する設定ファイルが vim で起動します。
未対応の設定ファイルを対応させる(PR)
このツールの設定ファイルとツール名のマッピングは以下のファイルで管理されています。
https://github.com/inabajunmr/anyconf/blob/main/static/configs.txt
anyconf ~/.anyconf/configs.txt
aws/config ~/.aws/config
aws/credentials ~/.aws/credentials
bash/bash_profile ~/.bash_profile
bash/bashrc ~/.bashrc
+NEWTOOL ~/.newtool.conf
NEWTOOL、という名前に対して ~/.newtool.conf
を対応させる場合このファイルに上記のような修正をしてプルリクエストを貰えれば幸いです。マージしてリリース次第ツールが反映されます。(あとそもそも Go をよくわからないまま書いてるのでそういう面でもなんかあれば教えてもらえると嬉しく思います。)
未対応の設定ファイルを対応させる(ローカル)
anyconf は .anyconf/configs.txt
という設定ファイルを持っており、このファイルに以下のような記載をすると anyconf を利用時に NEWTOOL が利用できます。
NEWTOOL ~/.newtool.conf
anyconf の設定ファイルも anyconf から開けます。
まとめ
fish の設定ファイルをいじろうとするたびに「fish config」でググるのが辛くなったのでツールを作りました。
anyconf
を起動した状態でツールを検索し選択すると vim でそのツールの設定ファイルを開くことができます。
現時点で対応済みのツールは私のローカルにあった設定と適当に dotfiles で検索したら出てきたいくつかだけなので、良さそうだなと思ってくれた方がいまいたら PRを貰えると嬉しく思います。
prismatix をより良いサービスにしていくエンジニアを募集しています
prismatix を一緒に開発・運用していくメンバーを募集していますので、以下のページを参照していただけますと幸いです。