Don't Repeat Yourself

Don't Repeat Yourself (DRY) is a principle of software development aimed at reducing repetition of all kinds. -- wikipedia

年初でアップデートした開発環境の話

いくつか記事を読んで、もう少しGitならびにGitHubの操作周りを便利にしたいと思ったので、いくつかアップデートをしてみました。追加したのは次のとおりです。

  • ghqの導入と、リポジトリfzfで探せるようにした。
  • ghコマンドをちょっと覚えた。
  • Orbstackをbrew installで追加できるようにした。
  • tmuxで新しいウィンドウを開いた際に直前で使用していたディレクトリパスで開くようにした。
  • miseを入れた。

ghqの導入と、リポジトリfzfで探せるようにした

これまで私の開発環境ではリポジトリ間の移動が結構大変だなと思っていました。ghqそれ自体にはいろいろ用途があるようなのですが、今のところはghq listを便利に使っています。

公式にはpecoと組み合わせてリポジトリ一覧を取得しつつ、カーソルを動かした先でEnterすると該当するリポジトリに移動できるというものが載っています。私はfzfの方を使っているので、fzf用にカスタマイズしました。このgistを参考にしました

github.com

exaを使っているので、ついでにexaが呼び出されてカーソルを動かした先のプレビューがツリーで表示されるようにしています。Ctrl+gを押すと出てきます。

実のところ仕事の方のPCではtmuxのウィンドウを仕事用のリポジトリに割り当てて行き来してるだけなので、仕事の方は困りません。時々ウィンドウに用意しているリポジトリ以外に移動する必要が出てきた時に活用しています。

ghコマンドをちょっと覚えた

全然使っていませんでしたがghqをBrewfileに登録する際に近くにghというのがいたので、せっかくだから使ってみようかと思った次第です。普段はlazygitでほとんど管理しているのでlazygitと組み合わせて使おうかなと思っています。lazygitのショートカットキーを割り当てて使うといいよというアドバイスを見かけたので、どこかで整理したいと思っています。

とりあえずPull Requestをターミナルを出ずに作成できるのが便利です。gh create prですね。ただPull Requestを作成する際、descriptionを書く時にNanoが開いてしまって困ったので、そこだけ微調整しました。Vimが開いて欲しかったので、

gh config set editor vim

で調整できました。

Orbstackをbrew installで追加できるようにした。

少し前まではたしか手元にダウンロードしかダメだったと思うんですが、Docker Desktopが重すぎて無理と思いOrbstackをインストールしようとしたところ、brew installできるようになっているのを見つけました。やったね!

tmuxで新しいウィンドウを開いた際に直前で使用していたディレクトリパスで開くようにした。

地味に不便だったため。この記事を参考にしながら修正しました

github.com

あと、水平分割は-で、垂直分割は|でできるようにしておきました。直感的だったので。

miseを入れた。

miseを導入してみました。少し前にrtxからリネームされたツールです。さまざまなenvをこれひとつで管理できるようになります。細かい機能はまだまだ開発途上な気はしますが、すでにある程度使える状態にはあると思います。

github.com

miseのおかげで結構な数のbrew installを飛ばせていることがわかるdiffです↓

github.com

そのほか

あとはこの記事を見ながら、xhを追加したりしました。exaのフォーク版ezaが出てるんですね。どこかで乗り換えなければと思いつつ、さまざまに設定したエイリアスを切り替えるのが面倒で重い腰が上がっていません…

zenn.dev