軽井沢でワーケーションするために環境構築をした

投稿日: 2021年 7月 30日

木瓜丸です。

友人のたくあんと一緒に開発合宿と銘打って軽井沢に行ってきました。

JRたかさき駅

行きの途中に群馬に人生初上陸を果たしました。

まぜそば

湊生というお店で、たくあん氏ゆかりのまぜそばを頂きました。うまかったです。

ビール

宿のすぐそばにあったカルテットというお店でクラフトビールも頂きました。すまんな。(なんか写真ぶれてんな?)


さて、そんなわけで、軽井沢を満喫した上でちょっとだけ開発などしたのですが、 行く前に荷造りついでに開発環境にちょっと手を加えてみたので、紹介したいと思います。

私は普段~/Worksというディレクトリにプロジェクトのディレクトリを置いていて、Gitのリポジトリをクローンしたりcargo newしたりするときはこのディレクトリでやります。 ホームディレクトリにこういうのを置いている人も結構いると思いますが、ホームディレクトリがいっぱいになると目grepが大変になるので一段下に置いてます。

ただ、やっぱり作業をしたいときにディレクトリの移動の度にcd Works/hogehogeとかくのがちょっと大変です。 そこで、プロジェクトのディレクトリに移動するためだけのwcdというコマンドをbashで作ってみました。

_wcd() {
    local cur prev cword
    _get_comp_words_by_ref -n : cur prev cword
    COMPREPLY=( $(compgen -W "$(ls -N "$HOME/Works")" -- "${cur}") )
}

wcd() {
    cd "$HOME/Works/$1"
}

complete -F _wcd wcd

wcd自体はbashの関数として実装しました。これだけだとあまり便利になった気はしないので、補完できるようにしました。

_wcdという関数に補完する項目の一覧をCOMPREPTYに突っ込む処理を書き、completeコマンドで関数を指定してあげます。

こうすると、勝手にWorks配下を確認してディレクトリ名を保管してくれます。結構気持ちいいです。

ブログをかくときも、Works配下のboke0yaというディレクトリにプロジェクトがあるので、

wcd boke0ya

でおkです。


軽井沢、涼しすぎますね。お金持ちになったら、春は外国に逃げ、夏は軽井沢に逃げ、冬は沖縄に逃げて生活したい()

© 2021 木瓜丸