I spend the whole day in a terminal, so I have tuned it until the boring parts disappear. These are the dotfiles. This is what they buy me.
I never type a path
Tab on anything opens a fuzzy list. cd app/<Tab> shows the folders, nvim **<Tab> shows the files, and a preview pops up when I want one. Zoxide remembers where I have been, so z port lands in the portfolio repo from anywhere.
Grep that opens the file
rgf hidden is a live ripgrep. I type, the matches update, the preview shows the line in context, and Enter drops me into Neovim at that exact line. No copying paths, no :123.
Files I can actually see
Yazi is the file manager. Images and PDFs render in the pane, git status sits next to each name, and quitting leaves the shell in whatever folder I ended up in.
One editor, one picker
Neovim with fzf-lua for everything: ff files, fg grep, fb buffers. Same keys, same look as the shell, so there is nothing to relearn when I move between them.
The rest is muscle memory
- One tmux key jumps to any project's session, creating it if needed.
- The shell starts instantly because nvm, pyenv and SDKMAN load the first time I call them, not on every tab.
lzdopens lazydocker, and<leader>dfloats it over Neovim, so I can restart a container or tail its logs without leaving the editor.
Everything uses the same dark yellow-on-black theme, so it all looks like one tool instead of six.