2 hours ago · Tech · 0 comments

Practically all of my work happens inside a terminal. Git, kubectl, tmux, ssh'ing into a server, open practically the entire day. Something I use that much has to be fast. Any lag in opening a new tab, typing a character or hitting tab for a completion is something I feel hundreds of times a day. It's death by a thousand cuts. My shell starts in about 30 milliseconds: $ for i in {1..5}; do /usr/bin/time zsh -i -c exit; done 0.03 real 0.02 user 0.01 sys 0.03 real 0.02 user 0.01 sys ... That's a fully loaded interactive shell with completions, syntax highlighting, autosuggestions, fzf and direnv, in less time than a single frame at 30fps. A new tab is instant. There was never some big optimization project behind this either; I've just always kept my shell minimal and fast and over the years that turned into a habit. Here's how I go about it, and all of it can be found in my dotfiles. No framework The single biggest win is what's not there: no oh-my-zsh, no prezto or plugin manager. I've…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.