ファジーファインダーって何?fzfとzoxideでディレクトリ移動が画期的に変わります

こんにちは、ナナオです。 前回はzoxideを紹介しました。 今回は予告通りfzfの話です。 fzfとは GitHub - junegunn/fzf: :cherry_blossom: A command-line fuzzy finder · GitHub fzf is a general-purpose command-line fuzzy finder fuzzyとは「あいまい」という意味です。 つまり、ファジーファインダーとはあいまい検索をターミナルでやってくれるツールになります。 ファイル名、コマンド履歴、git のブランチ、grep の結果など、リスト状のものならだいたい fzf にパイプで渡せば絞り込みできます。 入力すると即座に候補が絞られて、Enter で確定。基本これだけです。 ちなみに実装はGo製です。 インストール zoxide のときと同じく mise で入れます。 mise use -g fzf zsh で使うなら補完とキーバインドも読み込んでおきます。 # .zshrc source <(fzf --zsh) これであとはfzfで使えます。デフォルトではファイル検索が立ち上がります。 単体でよく使うパターン いくつか実例。 Ctrl + R でコマンド履歴を検索 先ほどのキーバインドを読み込んでおくと使えます。これは単にターミナルのショートカットみたいな感覚で使えます。コマンドを打つ必要すらありません。 「さっき打ったあのコマンドなんだったっけ」状態から救われるやつですね。 git のブランチを選ぶ git branch --all | fzf | xargs git checkout …こんな感じで、リストを fzf に食わせる前のコマンドを組み立てる発想があることでいろいろと助けられる場面は多そうです。 ...

2026年7月8日 · にあえん

zoxideでディレクトリ移動を楽にしよう

zoxideとは GitHub - ajeetdsouza/zoxide: A smarter cd command. Supports all major shells. · GitHub zoxide is a smarter cd command という売り文句の通り、cdをより便利に使えるコマンドになります。 基本的にはcdと代わりませんが、zoxideは過去の移動履歴を覚えてくれるという特徴があります。 一度移動したディレクトリのことを覚えてくれるので、いちいち絶対パスで指定しなくて済みます。これは楽! インストールと使い方 miseでインストール可能なので、今回はmiseを使います。 mise use -g zoxide インストール出来たら.zshrcに以下の設定を書き込みます。 eval "$(zoxide init zsh)" これでインストールできました。 コマンドはzで使えます。 ということで、一度使ってみましょう。 # ブログを書いてるディレクトリに移動してみる ~ on ☁️ (ap-northeast-1) ❯ z ~/tools/hugo-blog # 移動完了、ホームディレクトリに戻る hugo-blog on  main [$⇡] on ☁️ (ap-northeast-1) ❯ z # パスを指定せずブログのディレクトリ名だけ打つと… ~ on ☁️ (ap-northeast-1) ❯ z hugo-blog # ブログのディレクトリに戻ってこれた! hugo-blog on  main [$⇡] on ☁️ (ap-northeast-1) ❯ …はい、これだけでも十分便利ということが伝わるかと思います。 ...

2026年7月7日 · にあえん

miseを使ってみる(そしてanyenvからの脱却)

こんにちは、ナナオです。 今回は巷で話題のmiseを使っていこうと思います。 Home | mise-en-place GitHub - jdx/mise: dev tools, env vars, task runner · GitHub miseとは miseはThe front-end to your dev envという公式の説明がありますが、要は開発環境のための主要ツールになることを目指して作られたツールです。 できることは主に以下の三つです。 開発ツールの管理 環境変数の管理 タスクの管理 開発ツールの管理とは、node.js、Python、Terraformなどのバージョン管理を行えるという意味です。 環境変数の管理はそのままの意味で、環境変数の管理を行えます。 タスクの管理とは、例えばビルドやテストといった作業の管理を行えます。 miseのインストール brewが入っていれば以下のコマンドで入ります。 brew install mise miseでインストールした開発ツールを使用できるようにアクティベートしておきましょう。 .zshrcに以下のコマンドを追加します。 # miseのアクティベート eval "$(mise activate zsh)" これで準備が整いました。 タスクを定義する 普段よく使っているブログの公開コマンドを定義します。 [tasks.blog-deploy] description = 'ブログのビルドおよび公開' run = [ 'hugo', 'hugo deploy', ] dir = "/mnt/c/Users/Nanao/Project/tools/hugo-blog" 実行するとブログの公開ができました。楽ちん~ anyenvから移行する ということで本題です。anyenvは遅いし移行しようと思います。 長い間!!!!!!!クソお世話になりました!!!!!(ドン) anyenvのアンインストール まずanyenvでインストールしている~~envを削除します。 anyenv versionsでインストールされている環境を確認します。 ❯ anyenv versions goenv: * 1.20.6 (set by /home/nanao/.anyenv/envs/goenv/version) 1.22.9 1.23.3 nodenv: system * 22.7.0 (set by /home/nanao/.anyenv/envs/nodenv/version) pyenv: system 3.12.0 * 3.12.1 (set by /home/nanao/.anyenv/envs/pyenv/version) 3.12.2 3.12.3 3.12.4 3.12.5 3.13.2 rbenv: * 3.2.2 (set by /home/nanao/.anyenv/envs/rbenv/version) 結構いろいろインストールしていました。 ...

2026年1月19日 · にあえん