3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Progate Path コミュニティAdvent Calendar 2023

Day 12

【zoxide】”いつもの場所に”ぴょんぴょん飛び回る

Last updated at Posted at 2023-12-12

/darallium/です!ご覧いただきありがとうございます. 😊

「CLI初心者でも感動するような,それでいて汎用性・拡張性の高いCLIツール」を紹介する7日間の5日目の記事です 🙇

本日は「シェルにもショートカットを」をテーマに,zoxideを紹介します:relaxed:

zoxide

https://github.com/ajeetdsouza/zoxide/raw/main/contrib/tutorial.webp
公式より引用

zoxideは普段よくアクセスするサイトをブックマーク化して,ビュンビュン飛び回るためのツールである.古いユーザはautojumpやzと言えばわかるだろう.

installation

dependencies

  • cargo / rust
  • fzf

optional

  • tmux
  • nvim
    • telescope.nvim
  • zsh-autocomplete

windows

$ winget install ajeetdsouza.zoxide

linux

$ apt install zoxide
$ echo 'eval "$(zoxide init bash --hook prompt )"' >> ~/.bashrc

macOS

$ brew install zoxide
$ echo 'eval "$(zoxide init zsh --hook prompt )"' >> ~/.zshrc

チュートリアル

$ zoxide add <anywhere what you often access> 

まずは,z <what you want to go>でカレントディレクトリを飛び回ってcacheを貯めよう.z add <where you want to go>でキャッシュを貯めることもできる.

$ zi

image.png

ziコマンドで,溜まったキャッシュを表示することができる.左の数字がアクセスした回数, 右がパスだ.移動した回数が多いほど下に表示される仕組みになっている.

設定

zoxideは設定ファイルは存在せず,zoxide initする前の環境変数によって設定が変化する..bashrcやらのinitよりも前に環境変数に値を割り当てて設定を変更しよう.注意をしなければならないのが,zoxide initしなおさなければならないため,source ~/.bashrc をする必要があることだ.

  • _ZO_DATA_DIR: zoxideのキャッシュ先を指定できる.デフォルトではwindowsだと%LOCALAPPDATA%,macOSだと$HOME/Library/Application Support,linuxだと$HOME/.local/shareである.RAM diskを使用する際は使うといいだろう.
  • _ZO_EXCLUDE_DIRS: キャッシュを除外する📁フォルダを指定できる./tmpとかはあまり行くことはないが除外するのもありだろう.
  • _ZO_FZF_OPTS: fzfに渡すコマンドオプションを指定できる.
  • _ZO_MANAGE: キャッシュするフォルダの最大数を指定できる.あまりお勧めはしない.
  • _ZO_RESOLVE_SYMLINKS: リンクを飛ぶ際,そのリンクではなくリンク先のパスをキャッシュする.

また,部分的にはzoxide initにコマンドライン引数を与えることで設定できるコマンドがあり,

  • --no-cmd: zとziをエイリアスを張るのを防ぐ.
  • --hook : ziで飛ぶとき,キャッシュを自動で<プロンプト毎にする/ディレクトリが動く毎にする/しない>
  • --cmd: zとziを変更する.POSIXとNushell以外では,cdを置き換えると違和感なく使えるかもしれない.

また,initするとき,実はいくつかのfunctionが定義されている.これらをbashrcなどにべた書きして改変することで,さらなる拡張が望まれる.筆者の好きなhatredholderさんの設定がreferencing[2]に掲載しているのでぜひ見てほしい.

あとがき

とりあえずワークスペースに飛んで,pullして,ふぅ作業をしよう.この前半の部分を簡単にしてくれるのがzoxideだ.また,設定どこだっけ?というのを解決してくれるものでもある.いつもやることはスクリプトに書き出すか,このような拡張ソフトウェアを導入することで自動化してしまおう.

references

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?