「CursorよりClaude Codeのほうが使いやすい」 という状態にたどり着くまで、何を設定したのか——Zennに投稿されたこの記録が、AI開発環境の移行を検討しているエンジニアにとって非常に参考になる内容だったので紹介したい。
Claude Codeはターミナルベースの AIコーディングアシスタントで、cmux(Claude Multiplexer)と組み合わせることでGUI的な操作感を得られる。ただし初期設定のままでは「ちょっと使いにくい」と感じる部分が多い。著者は約1週間かけて環境を整備し、「トータルでCursorより使いやすい」と言える状態に仕上げた。
やったこと一覧
1. Ghosttyでcmuxの見た目を整える
cmuxは内部的に Ghostty をターミナルエンジンとして使っている。そのため外観カスタマイズはGhosttyの設定ファイルを書くことで実現できる。
theme = "Kanagawa Wave"
window-theme = dark
font-family = "SF Mono"
font-size = 13
cursor-color = #7e9cd8
selection-background = #2d4f67
unfocused-split-opacity = 0.7
フォントに SF Mono を指定(brew install font-sf-mono で追加可能)、テーマは Kanagawa Wave でダーク系の落ち着いた配色にしている。
2. Starship + zshrcでシェルを快適化
プロンプトは Starship で整備。表示項目をディレクトリ・gitブランチ・gitステータス・コマンド実行時間に絞り、aws/gcloud/nodejs等の不要モジュールを全て無効化してノイズを排除した。
format = """
$directory\
$git_branch\
$git_status\
$cmd_duration\
$line_break\
$character"""
zshrc側では以下が特に実用的:
zsh-autosuggestions:履歴ベースのコマンド候補をグレー表示、Ctrl+Fで確定zsh-syntax-highlighting:コマンドの構文ハイライト↑↓キー:入力中のコマンドにマッチする履歴を遡るh関数:pecoで履歴検索してそのまま実行c関数:過去に訪れたディレクトリをpecoで選んでcdrmのtrash置き換え:誤削除防止のためtrashコマンドにエイリアス
3. ファイルツリーはyaziで解決
GUIのファイルツリーが恋しい場合は yazi(Rust製のターミナルファイルマネージャ)を導入。隠しファイルのデフォルト表示、fzf検索(Fキー)、ファイルパスのクリップボードコピー(yp)などカスタムキーマップも追加している。
[[mgr.prepend_keymap]]
on = ["F"]
run = 'shell "root=$(git rev-parse --show-toplevel 2>/dev/null || echo .); file=$(cd \"$root\" && fd --type f --hidden --exclude .git | fzf --layout=reverse); [ -n \"$file\" ] && ya emit reveal \"$root/$file\"" --block'
desc = "fzf search"
4. Markdownプレビューはgripで
grip(GitHub風レンダリングサーバー)とシェルスクリプトを組み合わせ、yaziで選択したMarkdownファイルをcmuxのブラウザタブで即プレビューできる環境を構築。ホットリロード対応・プロセス重複防止も実装済み。CSSは ~/.grip/settings.py に書いてダークテーマに統一している。
移行してみての所感
Cursorからの移行でネックになりがちなのが「GUI前提の操作感との乖離」だが、cmux + yazi + gripの組み合わせでファイルブラウズ・Markdownプレビューをターミナル内で完結できる点が大きい。特に Starshipのノイズ排除 と peco連携の履歴検索 は、一度使うと手放せない快適さだ。
設定ファイルの量は多いが、著者が「1週間で整備できた」と言っているように、段階的に積み上げていける範囲。Claude Codeへの移行を検討しているなら、この記事の設定を丸ごと参考にするのが最短ルートだろう。