私の開発環境
開発環境は十人十色で、お互いの環境を見せることで、新しい発見があったり自分の環境を見直すきっかけにしたいため、私の開発環境を共有します!!!
読者の開発環境のスクショを貼っていただけたり、使用しているライブラリを共有してもらえると、嬉しいです!!
まだまだ荒削りな部分があるので、適宜更新していきます。
環境
私は、Macを日頃使用しています。そのため、複数の項目でMac限定のライブラリや設定があるかもしれません。
ライブラリ管理
HomebrewでApp Storeでのみ配信しているアプリやVS CodeなどのGUIやCLI等のライブラリを一元管理しています。
Brewfileというファイルに、Homebrewを経由して、ダウンロードしたいアプリ名やライブラリ名を記載していきます。
すでに、Homebrewを使用している方は、下記のコマンドでBrewfileを生成することができます。
brew bundle dump
詳細: https://github.com/Homebrew/homebrew-bundle
Brewfileを持つメリットは、新しいPCのセットアップをする際に、アプリごとにダウンロードページへアクセスして、ダウンロードしたり、brew install xxxのコマンドを実行する手間を省けることです。
ターミナル
私は定期的にターミナルを変えてきましたが、weztermが今のところ安住の地となっています。
ターミナル遍歴: iTerm2 → Alacritty → Warp → wezterm
weztermは、Luaという言語で設定することができるので、カスタマイズ性が高いです。
インラインで日本語を入力できるので、最高です!最近、Alacrittyでもできるようになったらしいです。
デフォルトで画面分割やタブ機能をもっているため、カスタマイズせずとも使い始めることができます。
また、後述するNeovimもLuaで設定ファイルを書くため、私にとっては相性が良いです。
シェル
Zshを使用しています。ほかにfishやbashがありますが、特にこだわりはありません。
Zshをカスタマイズするために、プラグインマネージャーzplugを入れてます。
プラグインは、3ついれています。これだけしか入れていませんが、特に困っていないです。
コマンドの補完が出るため、あまりエイリアスは設定していません。
エイリアス
# 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限定かもしれないです。
フォント
フォントの採用条件としては、以下の2点です。
- よく使う言語 日本語と英語が正しく表示されること
- アイコン表示に必要なNerdfontsに対応していること
この条件を満たすのが、フォント SFmono squareです。
このフォントでは、全角スペースが、ただの空白でなく◯として表示されます。
また、半角二文字と全角1文字が縦に揃うので、カーソル移動がしやすくなります。視認性も◎
カラースキーム
ずっと使い続けているテーマは2種類です。
OneDark かNight Foxをよく使います。
ダークテーマばかりを指定しています。
それぞれのカラースキームには、いくつかバリエーションがあります。
OneDarkProではOnedarkというバリエーションを使っていました。
Night Foxの中ではNordfoxを使用しています。
VSCodeでも、2つのカラースキームを使えます。
よく使うCLI
-
lazygit
Git周りの操作やプルリク作成の時に、よく使います。
https://github.com/jesseduffield/lazygit -
figlet
アルファベットの文字を遊ぶ時に、よく使います。
https://formulae.brew.sh/formula/figlet#default
-
tmux
weztermだけでは少し物足りないので、導入しています。
zshを起動したときに、自動でtmuxを起動するようにしています。
https://formulae.brew.sh/formula/tmux#default -
ffmpeg
gifの出力や動画のフレームレートを落としたい時に使用します。
https://formulae.brew.sh/formula/ffmpeg#default -
ripgrep
Rustで開発されている文字列検索コマンドです。
grepやgit grepより速いので、乗り換えました。
https://github.com/BurntSushi/ripgrep -
lsd
Rustで開発されているlsコマンドです。
https://github.com/lsd-rs/lsd
ファイルサイズをKBやMBとか人間が理解しやすい単位へ変換してくれたり、色付き表示してくれたりするので、乗り換えました。日付の表示方法をいじることもできます。
エディタ
現在、メインはNeovimを使用しています。
エディタ遍歴
2021~2022年9月くらいまでVS Codeを使う。
Vim歴10年くらいのエンジニアのVim捌きに影響受けて、Neovimへ乗り換える。
2022年10月〜 Neovimを使っている
Neovim
VS Codeを真似て、色々カスタマイズしています。ファイルツリーとかターミナルを表示させるとか etc
Ruby、Typescriptでの定義元ジャンプや自動補完は動作するようにしています。
入れているプラグインや設定周りは、長くなるので、詳細は割愛。
詳細は、別記事で紹介しています。
VS Code
現在、あまり使用していません。マークダウンを書く時やSQLを書く際に、VS Codeを使用しています。
あんまりカスタマイズはしていないです。輪郭の色を変えたり、拡張機能を入れたり、ショートカットを設定しているくらいです。
VS Codeへの熱い想いはこちら
最後に
まだまだ、設定周りやらで、磨ける部分はあるのでもっと設定を磨いていきます。
あなたが、使用している開発ツールを教えてください! ターミナルやCLIなどなんでも大丈夫です。
ここの設定はどうやっているの?とかありましたら、コメントください〜
Discussion