🧰

私の開発環境

2023/06/19に公開

開発環境は十人十色で、お互いの環境を見せることで、新しい発見があったり自分の環境を見直すきっかけにしたいため、私の開発環境を共有します!!!
読者の開発環境のスクショを貼っていただけたり、使用しているライブラリを共有してもらえると、嬉しいです!!

まだまだ荒削りな部分があるので、適宜更新していきます。

環境

私は、Macを日頃使用しています。そのため、複数の項目でMac限定のライブラリや設定があるかもしれません。

ライブラリ管理

HomebrewでApp Storeでのみ配信しているアプリやVS CodeなどのGUIやCLI等のライブラリを一元管理しています。
https://brew.sh/

Brewfileというファイルに、Homebrewを経由して、ダウンロードしたいアプリ名やライブラリ名を記載していきます。
すでに、Homebrewを使用している方は、下記のコマンドでBrewfileを生成することができます。

brew bundle dump

詳細: https://github.com/Homebrew/homebrew-bundle

Brewfileを持つメリットは、新しいPCのセットアップをする際に、アプリごとにダウンロードページへアクセスして、ダウンロードしたり、brew install xxxのコマンドを実行する手間を省けることです。

ターミナル

私は定期的にターミナルを変えてきましたが、weztermが今のところ安住の地となっています。
ターミナル遍歴: iTerm2 → Alacritty → Warp → wezterm

https://github.com/wez/wezterm

weztermは、Luaという言語で設定することができるので、カスタマイズ性が高いです。
インラインで日本語を入力できるので、最高です!最近、Alacrittyでもできるようになったらしいです。
デフォルトで画面分割やタブ機能をもっているため、カスタマイズせずとも使い始めることができます。

また、後述するNeovimもLuaで設定ファイルを書くため、私にとっては相性が良いです。

シェル

Zshを使用しています。ほかにfishやbashがありますが、特にこだわりはありません。
Zshをカスタマイズするために、プラグインマネージャーzplugを入れてます。
https://github.com/zplug/zplug

プラグインは、3ついれています。これだけしか入れていませんが、特に困っていないです。
https://github.com/zsh-users/zsh-completions
https://github.com/zsh-users/zsh-autosuggestions
https://github.com/zsh-users/zsh-syntax-highlighting

コマンドの補完が出るため、あまりエイリアスは設定していません。

エイリアス
# git
alias g='git'
alias ga='git add'
alias gb='git branch'
alias gc='git checkout'
alias gsw='git switch'
alias gpl='git pull'
alias gcm='git commit -m'
alias gaa='git add .'
alias gsl='git status list'
alias gsp='git status pop'
alias gs='git status'
# standard
alias e='exit'
# ruby
alias be='bundle exec'
# editors
alias v='nvim'
alias zshconfig='nvim ~/.zshrc'
alias alacrittyconfig='nvim ~/.config/alacritty/alacritty.yml'
alias kittyconfig='nvim ~/.config/kitty/kitty.conf'
alias nvimconfig='cd ~/.config/nvim && nvim init.lua'
# Move directory
alias ls='lsd'
alias ..='cd ..'
alias ..2='cd ../../'
alias ..3='cd ../../../'


コマンドの入力あたりのカスタマイズは、↓のテーマを使用しています。Zsh限定かもしれないです。
https://github.com/romkatv/powerlevel10k

フォント

フォントの採用条件としては、以下の2点です。

  • よく使う言語 日本語と英語が正しく表示されること
  • アイコン表示に必要なNerdfontsに対応していること

この条件を満たすのが、フォント SFmono squareです。
https://github.com/delphinus/homebrew-sfmono-square

このフォントでは、全角スペースが、ただの空白でなく◯として表示されます。
また、半角二文字と全角1文字が縦に揃うので、カーソル移動がしやすくなります。視認性も◎

カラースキーム

ずっと使い続けているテーマは2種類です。

OneDarkNight Foxをよく使います。
ダークテーマばかりを指定しています。
それぞれのカラースキームには、いくつかバリエーションがあります。

OneDarkProではOnedarkというバリエーションを使っていました。

Night Foxの中ではNordfoxを使用しています。

VSCodeでも、2つのカラースキームを使えます。
https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme
https://marketplace.visualstudio.com/items?itemName=keifererikson.nightfox

よく使うCLI

エディタ

現在、メインはNeovimを使用しています。

エディタ遍歴

2021~2022年9月くらいまでVS Codeを使う。
Vim歴10年くらいのエンジニアのVim捌きに影響受けて、Neovimへ乗り換える。
2022年10月〜 Neovimを使っている

Neovim

VS Codeを真似て、色々カスタマイズしています。ファイルツリーとかターミナルを表示させるとか etc
Ruby、Typescriptでの定義元ジャンプや自動補完は動作するようにしています。

入れているプラグインや設定周りは、長くなるので、詳細は割愛。
詳細は、別記事で紹介しています。
https://zenn.dev/kenkenlysh/articles/6c93a4dbfeb2e2

VS Code

現在、あまり使用していません。マークダウンを書く時やSQLを書く際に、VS Codeを使用しています。
あんまりカスタマイズはしていないです。輪郭の色を変えたり、拡張機能を入れたり、ショートカットを設定しているくらいです。

VS Codeへの熱い想いはこちら
https://zenn.dev/kenkenlysh/articles/a3f7f45bc0144e

最後に

まだまだ、設定周りやらで、磨ける部分はあるのでもっと設定を磨いていきます。

あなたが、使用している開発ツールを教えてください! ターミナルやCLIなどなんでも大丈夫です。
ここの設定はどうやっているの?とかありましたら、コメントください〜

Discussion