Fedoraでの開発環境構築:ZshとTmuxでゼロからプロへ

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

なぜUbuntuやMacOSではなくFedoraを選ぶのか?

「素の状態」のターミナルでコマンドを打つのは、メモ帳でコードを書くようなものです。FedoraをメインOSとして2年間使用してきましたが、このディストリビューションは素晴らしい「bleeding edge(最先端)」な体験を提供してくれます。パッケージは常に最新ですが、Archのように壊れやすくはありません。しかし、Fedora Workstation (GNOME) のデフォルトインストールは非常にシンプルすぎます。開発者が1日8時間「戦う」ために必要な高度な補助ツールが不足しているのです。

標準的な開発環境は、単に見栄えを良くするためだけのものではありません。余計な操作を減らし、コマンドの打ち間違いを防ぐのに役立ちます。最も重要なのは、コード、ログ、データベースの間を行き来する際に、集中力を切らさないようにすることです。ここでは、Fedora上でのワークフロー全体を再構築する方法を紹介します。

ステップ1:システムの更新と「ツール」の準備

Fedoraをインストールした後の最初の習慣は、ブラウザを開くことではありません。ターミナルを開き、すべてを更新しましょう。Fedoraのカーネル更新は非常に速く、アップデートリストが数GBに達することもあります。

sudo dnf update -y
sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries" -y
sudo dnf install dnf-plugins-core curl wget git util-linux-user -y

Development Tools グループをインストールすると、gccmakeflex などがセットアップされます。これらは極めて重要です。ソースからツールをビルドしたり、ネイティブエクステンションを持つNodeJSライブラリをインストールしたりする際に必要になります。

ステップ2:ZshとOh My Zshでシェルをアップグレードする

デフォルトのBashも悪くありませんが、強力なカスタマイズ性を持つZshこそが「本命」です。スマートな補完機能のおかげで、コマンド入力時間を約30%削減できました。

# Zshのインストール
sudo dnf install zsh -y

# デフォルトシェルの変更 (rootパスワードが必要)
chsh -s $(which zsh)

ログアウトして再ログインした後、プラグイン管理のために Oh My Zsh をインストールします。次に、欠かせない2つのプラグイン、zsh-autosuggestions(過去のコマンドを提案)と zsh-syntax-highlighting(コマンドの構文ハイライト)を追加します。

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

~/.zshrc ファイル内の plugins 行を以下のように修正して、これらを有効化するのを忘れないでください。

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

ステップ3:Tmuxによる究極のマルチタスク管理

もしTmuxを使っていないなら、画面スペースを大きく無駄にしています。Tmuxを使えば、ターミナルを複数のペイン(pane)に分割できます。左側でサーバーを実行し、右側でログを監視し、下側でGitコミットを行う。これらすべてを単一のウィンドウで完結できます。

sudo dnf install tmux -y

デフォルトのショートカット Ctrl-b は少し押しにくいです。私は通常 Ctrl-a に変更し、ペインのサイズ調整がしやすいようにマウス操作を有効にしています。~/.tmux.conf ファイルを作成し、以下の内容を記述してください。

# 指が疲れないように、プレフィックスをCtrl-aに変更
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# マウスでペインを選択できるようにする
set -g mouse on

# より直感的な画面分割
bind | split-window -h
bind - split-window -v

ステップ4:表示崩れを防ぐためのNerd Fontsのインストール

美しいターミナルは、コードを読む際の目の疲れを軽減します。モダンなテーマでは特殊なアイコンがよく使われます。Nerd Fontsをインストールしないと、ターミナルが不快な文字化けで溢れてしまいます。

私の一押しは JetBrainsMono Nerd Font です。ダウンロードして ~/.local/share/fonts ディレクトリに解凍するだけです。その後、fc-cache -fv コマンドを実行して、システムに新しいフォントを認識させます。

ステップ5:モダンなスタイルでのシステムモニタリング

目が回るような古典的な top を使う代わりに、私は btop を優先しています。これは非常に直感的なダッシュボードUIを持つリソース監視ツールです。

sudo dnf install btop -y

btop と入力すると、CPU、RAM、ネットワークのグラフがリアルタイムで動くのが見えます。コードのコンパイル中に急に動作が重くなった場合、btopを開けばどの「犯人」がリソースを食いつぶしているかすぐに分かります。

IBus-Bambooによる安定したベトナム語入力

ドキュメント作成やチームとのチャットでベトナム語が打てないと非常にストレスが溜まります。Fedoraにおいて、ibus-bamboo は現在最も安定した入力メソッドです。

sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/home:/lam_v/Fedora_40/home:lam_v.repo
sudo dnf install ibus-bamboo -y

インストール後、[設定] -> [キーボード] に進み、入力ソースのリストに「Vietnamese (Bamboo)」を追加すれば完了です。

おわりに

最初に30分ほどかけてセットアップを行うことで、後々の試行錯誤の時間を何十時間も節約できます。FedoraとZsh、Tmux、Nerd Fontsの三種の神器を組み合わせることで、非常にスムーズなワークフローが実現します。自分の好みに合わせて .zshrc ファイルをさらにカスタマイズすることを恐れないでください。もしシェルの設定を壊してしまったら、/bin/bash と入力してデフォルトのシェルに戻り、修正すれば大丈夫です。Fedoraで生産性の高いコーディング時間を過ごせることを願っています!

Share: