Skip to content

ayumuwall/zshift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zshift

Smarter, faster file navigation for zsh.

日本語

Hit Ctrl+T and browse files and directories with fzf — navigate into folders with arrow keys, jump home with ~, and insert clean paths into your command line. All without leaving zsh.

Screenshot

screenshot

Why zshift?

Stock fzf Ctrl+T zshift
Flat list, search only Browse directories with Shift+arrows
No visual distinction Cyan = directory, gray = file
Retype path to go home ~ key jumps home instantly
Long absolute paths Auto-inserts short ~/… or ./… notation

Features

  • Shift+← / Shift+→ — navigate directories interactively
  • ~ key — jump to home directory instantly
  • Multi-selectTab to pick multiple files, insert all at once
  • Paths under ~/ are inserted with ~ notation preserved
  • Paths under current directory are inserted with ./ prefix
  • Permission errors shown as pink inline warnings

Requirements

  • zsh
  • fzf
  • zoxide — fast directory jumping via z / zi

Install

Homebrew (recommended)

brew install ayumuwall/tap/zshift

Then add to your ~/.zshrc:

source $(brew --prefix)/share/zshift/zshift.zsh

Then reload your shell:

source ~/.zshrc

zinit

zinit light ayumuwall/zshift

sheldon

[plugins.zshift]
github = "ayumuwall/zshift"

Manual

git clone https://github.com/ayumuwall/zshift.git ~/.zsh/zshift
echo 'source ~/.zsh/zshift/zshift.zsh' >> ~/.zshrc

Usage

Ctrl+T — File picker

Press Ctrl+T anywhere on the command line to browse the current directory:

  Documents/          # cyan = directory
  Downloads/
  ./README.md         # gray ./ = file
  ./setup.sh

  Shift+←→: navigate   ~: home   Enter: confirm

Key bindings

Key Action
Shift+→ Enter selected directory
Shift+← Go to parent directory
~ Jump to home directory
Tab Toggle multi-select
Enter Confirm and insert into command line
Esc Cancel

z — zoxide integration

zshift initializes zoxide in zi (interactive) mode. Just type z to fuzzy-select from your recently visited directories.

Tips

  • If you've already typed a partial path, Ctrl+T starts browsing from there:
    vim src/<Ctrl+T>   # opens src/ contents
    
  • The original fzf Ctrl+T is remapped to Ctrl+G, so it's always available.

Platform

  • macOS — fully supported
  • Linux — requires stat adaptation (PRs welcome)

License

MIT

About

Supercharged Ctrl+T file navigation for zsh with directory browsing.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages