いろんなツールの設定ファイルの場所を覚えられないのでツールを作った

2021.03.17

この記事は公開されてから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 を一緒に開発・運用していくメンバーを募集していますので、以下のページを参照していただけますと幸いです。

リクルート|プリズマティクス株式会社