ขอขอบคุณเป็นพิเศษ:

Zoxide เป็น คำสั่ง CD ที่ชาญฉลาด ซึ่งได้รับแรงบันดาลใจจาก Z และ AutoJump
มันจำได้ว่าไดเรกทอรีที่คุณใช้บ่อยที่สุดเพื่อให้คุณสามารถ "กระโดด" ให้พวกเขาได้ในการกดแป้นเพียงไม่กี่ครั้ง
Zoxide ทำงานบนเปลือกหอยที่สำคัญทั้งหมด
เริ่มต้นใช้งาน•การติดตั้ง•การกำหนดค่า•การรวมเข้าด้วยกัน

z foo # cd into highest ranked directory matching foo
z foo bar # cd into highest ranked directory matching foo and bar
z foo / # cd into a subdirectory starting with foo
z ~ /foo # z also works like a regular cd command
z foo/ # cd into relative path
z .. # cd one level up
z - # cd into previous directory
zi foo # cd with interactive selection (using fzf)
z foo < SPACE><TAB > # show interactive completions (zoxide v0.8.0+, bash 4.4+/fish/zsh only)อ่านเพิ่มเติมเกี่ยวกับอัลกอริทึมการจับคู่ที่นี่
Zoxide สามารถติดตั้งได้ใน 4 ขั้นตอนง่ายๆ:
ติดตั้งไบนารี
Zoxide ทำงานบนแพลตฟอร์มที่สำคัญที่สุด หากแพลตฟอร์มของคุณไม่อยู่ในรายการด้านล่างโปรดเปิดปัญหา
วิธีที่แนะนำในการติดตั้ง Zoxide คือผ่านสคริปต์การติดตั้ง:
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | shหรือคุณสามารถใช้ผู้จัดการแพ็คเกจ:
การกระจาย ที่เก็บ คำแนะนำ ใดๆ ลังโอ cargo install zoxide --lockedใดๆ ASDF asdf plugin add zoxide https://github.com/nyrst/asdf-zoxide.git
asdf install zoxide latestใดๆ มีส่วนร่วม conda install -c conda-forge zoxideใดๆ คนกิน guix install zoxideใดๆ ลินิกซ์บรูว์ brew install zoxideใดๆ nixpkgs nix-env -iA nixpkgs.zoxideอัลมาลินลักซ์ dnf install zoxideAlpine Linux 3.13+ แพ็คเกจอัลไพน์ Linux apk add zoxideซุ้มประตู Arch Linux Extra pacman -S zoxideCentos Stream dnf install zoxideDebian 11+1แพ็คเกจ Debianapt install zoxideDevuan 4.0+ แพ็คเกจ Devuan apt install zoxideExherbo Linux แพ็คเกจ Exherbo cave resolve -x repository/rust
cave resolve -x zoxideFedora 32+ แพ็คเกจ Fedora dnf install zoxideคนขี้เกียจ แพ็คเกจ Gentoo emerge app-shells/zoxideManjaro pacman -S zoxideopensuse tumbleweed โรงงาน OpenSuse zypper install zoxideParrot OS1apt install zoxideRaspbian 11+1แพ็คเกจ Raspbianapt install zoxideRhel 8+ dnf install zoxideแรด linux แพ็คเกจ Pacstall pacstall -I zoxide-debหินลุยเซียน dnf install zoxideSlackware 15.0+ slackbuilds คำแนะนำ คนขี้ขลาด แพ็คเกจโซลัส eopkg install zoxideUbuntu 21.04+1แพ็คเกจ Ubuntuapt install zoxideโมฆะ Linux โมฆะแพ็คเกจ Linux xbps-install -S zoxide
ในการติดตั้ง Zoxide ให้ใช้ Package Manager:
ที่เก็บ คำแนะนำ ลังโอ cargo install zoxide --lockedโฮมบรูว์ brew install zoxideASDF asdf plugin add zoxide https://github.com/nyrst/asdf-zoxide.git
asdf install zoxide latestมีส่วนร่วม conda install -c conda-forge zoxideMacPorts port install zoxidenixpkgs nix-env -iA nixpkgs.zoxideหรือเรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
Zoxide ทำงานร่วมกับ PowerShell เช่นเดียวกับเปลือกหอยที่ทำงานใน Cygwin, Git Bash และ MSYS2
วิธีที่แนะนำในการติดตั้ง Zoxide คือผ่าน
winget:winget install ajeetdsouza.zoxideหรือคุณสามารถใช้ตัวจัดการแพ็คเกจทางเลือก:
ที่เก็บ คำแนะนำ ลังโอ cargo install zoxide --lockedช็อคโกแลต choco install zoxideมีส่วนร่วม conda install -c conda-forge zoxideตัก scoop install zoxideหากคุณใช้ Cygwin, Git Bash หรือ MSYS2 คุณสามารถใช้สคริปต์การติดตั้ง:
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
ในการติดตั้ง Zoxide ให้ใช้ Package Manager:
การกระจาย ที่เก็บ คำแนะนำ ใดๆ ลังโอ cargo install zoxide --lockedDragonfly BSD Dports pkg install zoxideFreeBSD นักกีฬา pkg install zoxidenetbsd pkgsrc pkgin install zoxideหรือเรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
ในการติดตั้ง Zoxide ให้ใช้ Package Manager:
ที่เก็บ คำแนะนำ คำศัพท์ pkg install zoxideหรือเรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
ตั้งค่า Zoxide บนเชลล์ของคุณ
หากต้องการเริ่มใช้ Zoxide ให้เพิ่มลงในเปลือกของคุณ
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.bashrc):eval " $( zoxide init bash ) "
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.elvish/rc.elv):eval (zoxide init elvish | slurp)หมายเหตุ Zoxide รองรับ Elvish v0.18.0 ขึ้นไปเท่านั้น
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.config/fish/config.fish):zoxide init fish | source
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.kshrc):# ksh93 eval " $( zoxide init ksh ) " # mksh, oksh, etc. eval " $( zoxide init ksh --hook=prompt ) "
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์ env ของคุณ (ค้นหาโดยเรียกใช้
$nu.env-pathใน Nushell):zoxide init nushell | save -f ~ /.zoxide.nuตอนนี้เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (ค้นหาโดยเรียกใช้
$nu.config-pathใน Nushell):source ~ /.zoxide.nuหมายเหตุ Zoxide รองรับ Nushell V0.89.0+เท่านั้น
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (ค้นหาโดยเรียกใช้
echo $profileใน PowerShell):Invoke-Expression ( & { (zoxide init powershell | Out-String ) })
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.xonshrc):execx ($( zoxide init xonsh ), 'exec' , __xonsh__ . ctx , filename = 'zoxide' )
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ (โดยปกติ
~/.zshrc):eval " $( zoxide init zsh ) "เพื่อให้เสร็จสิ้นการทำงานบรรทัดข้างต้นจะต้องเพิ่ม หลังจาก
compinitถูกเรียก คุณอาจต้องสร้างแคชความสำเร็จของคุณใหม่โดยเรียกใช้rm ~/.zcompdump*; compinit
เพิ่มสิ่งนี้ลงในไฟล์ จบ ของไฟล์กำหนดค่าของคุณ:
eval " $( zoxide init posix --hook prompt ) "
ติดตั้ง FZF (ไม่บังคับ)
FZF เป็นตัวค้นหาฟัซซี่บรรทัดคำสั่งที่ใช้โดย Zoxide สำหรับการเลือกความสมบูรณ์ / การเลือกแบบโต้ตอบ สามารถติดตั้งได้จากที่นี่
หมายเหตุ Zoxide รองรับ FZF v0.33.0 ขึ้นไปเท่านั้น
นำเข้าข้อมูลของคุณ (ไม่บังคับ)
หากคุณใช้ปลั๊กอินเหล่านี้ในปัจจุบันคุณอาจต้องการนำเข้าข้อมูลของคุณไปยัง Zoxide:
เรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:
zoxide import --from=autojump " /path/to/autojump/db "เส้นทางมักจะแตกต่างกันไปตามระบบของคุณ:
ระบบปฏิบัติการ เส้นทาง ตัวอย่าง ลินเวกซ์ $XDG_DATA_HOME/autojump/autojump.txtหรือ$HOME/.local/share/autojump/autojump.txt/home/alice/.local/share/autojump/autojump.txtแม็กอส $HOME/Library/autojump/autojump.txt/Users/Alice/Library/autojump/autojump.txtหน้าต่าง %APPDATA%autojumpautojump.txtC:UsersAliceAppDataRoamingautojumpautojump.txt
เรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:
zoxide import --from=z " path/to/z/db "เส้นทางมักจะแตกต่างกันไปตามระบบของคุณ:
ปลั๊กอิน เส้นทาง การทำ $_FASD_DATAหรือ$HOME/.fasdz (bash/zsh) $_Z_DATAหรือ$HOME/.zZ (ปลา) $Z_DATAหรือ$XDG_DATA_HOME/z/dataหรือ$HOME/.local/share/z/dataz.lua (bash/zsh) $_ZL_DATAหรือ$HOME/.zluaZ.lua (ปลา) $XDG_DATA_HOME/zlua/zlua.txtหรือ$HOME/.local/share/zlua/zlua.txtหรือ$_ZL_DATAZSH-Z $ZSHZ_DATAหรือ$_Z_DATAหรือ$HOME/.z
เรียกใช้คำสั่งนี้ใน PowerShell:
$db = New-TemporaryFile ( Get-ZLocation ).GetEnumerator() | ForEach-Object { Write-Output ( $_ .Name + ' | ' + $_ .Value + ' |0 ' ) } | Out-File $db zoxide import -- from = z $db
เมื่อโทรหา zoxide init จะมีการตั้งค่าสถานะต่อไปนี้:
--cmdz และ zi--cmd j จะเปลี่ยนคำสั่งเป็น ( j , ji )--cmd cd จะแทนที่คำสั่ง cd--hook <HOOK>| ตะขอ | คำอธิบาย |
|---|---|
none | ไม่เคย |
prompt | ในทุก ๆ พรอมต์เชลล์ |
pwd (ค่าเริ่มต้น) | เมื่อใดก็ตามที่มีการเปลี่ยนแปลงไดเรกทอรี |
--no-cmdz และ zi__zoxide_z และ __zoxide_zi หากคุณเลือกที่จะนิยามใหม่ ตัวแปรสภาพแวดล้อม 2 สามารถใช้สำหรับการกำหนดค่า พวกเขาจะต้องตั้งค่าก่อนที่จะเรียกว่า zoxide init
_ZO_DATA_DIR| ระบบปฏิบัติการ | เส้นทาง | ตัวอย่าง |
|---|---|---|
| Linux / BSD | $XDG_DATA_HOME หรือ $HOME/.local/share | /home/alice/.local/share |
| แม็กอส | $HOME/Library/Application Support | /Users/Alice/Library/Application Support |
| หน้าต่าง | %LOCALAPPDATA% | C:UsersAliceAppDataLocal |
_ZO_ECHOz จะพิมพ์ไดเรกทอรีที่ตรงกันก่อนที่จะนำทางไป_ZO_EXCLUDE_DIRS| ระบบปฏิบัติการ | เครื่องแยก | ตัวอย่าง |
|---|---|---|
| Linux / MacOS / BSD | : | $HOME:$HOME/private/* |
| หน้าต่าง | ; | $HOME;$HOME/private/* |
"$HOME"_ZO_FZF_OPTSman fzf สำหรับรายการตัวเลือก_ZO_MAXAGE_ZO_RESOLVE_SYMLINKSz จะแก้ไข symlinks ก่อนที่จะเพิ่มไดเรกทอรีลงในฐานข้อมูล | แอปพลิเคชัน | คำอธิบาย | ปลั๊กอิน |
|---|---|---|
| AERC | ไคลเอนต์อีเมล | สนับสนุนโดยธรรมชาติ |
| อัลเฟรด | ตัวเรียกใช้ macOS | อัลเฟรด-ซอกไซด์ |
| เสียงกริ๊ก | ปรับปรุง cmd.exe สำหรับ windows | เสียงก้อง |
| Emacs | ตัวแก้ไขข้อความ | Zoxide.el |
| เฟลิกซ์ | ตัวจัดการไฟล์ | สนับสนุนโดยธรรมชาติ |
| โจชัวโตะ | ตัวจัดการไฟล์ | สนับสนุนโดยธรรมชาติ |
| LF | ตัวจัดการไฟล์ | ดูวิกิ |
| nnn | ตัวจัดการไฟล์ | nnn-autojump |
| แรนเจอร์ | ตัวจัดการไฟล์ | แรนเจอร์-ซอกไซด์ |
| Telescope.nvim | Fuzzy Finder สำหรับ NeoVim | กล้องโทรทรรศน์ |
| T | tmux MANAGER | สนับสนุนโดยธรรมชาติ |
| Tmux-session-wizard | tmux MANAGER | สนับสนุนโดยธรรมชาติ |
| vim / neovim | ตัวแก้ไขข้อความ | Zoxide.vim |
| XPLR | ตัวจัดการไฟล์ | Zoxide.xplr |
| xxh | ขนส่งการกำหนดค่าเชลล์ผ่าน SSH | xxh-plugin-prerun-zoxide |
| ยาซี | ตัวจัดการไฟล์ | สนับสนุนโดยธรรมชาติ |
| ซับ | ค้นหาแบบสอบถามที่สั้นที่สุดที่เป็นไปได้สำหรับเส้นทาง | สนับสนุนโดยธรรมชาติ |
| zsh-autocomplete | ความสำเร็จแบบเรียลไทม์สำหรับ ZSH | สนับสนุนโดยธรรมชาติ |
อนุพันธ์ Debian / Ubuntu อัปเดตแพ็คเกจของพวกเขาช้ามาก หากคุณใช้หนึ่งในการแจกแจงเหล่านี้ให้พิจารณาใช้สคริปต์การติดตั้งแทน ↩ 2 ↩ 3 ↩ 4
หากคุณไม่แน่ใจว่าจะตั้งค่าตัวแปรสภาพแวดล้อมบนเชลล์ของคุณอย่างไรให้ตรวจสอบวิกิ