Terminal
Shell, Neovim and the config that never quite gets finished.
## emulator
Alacritty ↗
Fast, GPU-rendered and deliberately small. Tabs and splits are tmux's job.
## multiplexer
tmux ↗
Sessions that survive closing the window, and splits that open in the current directory.
›cat tmux.md
Prefix moved to
C-a, panes moved withh/j/k/l, and copy mode uses vi keys:set -g prefix C-a setw -g mode-keys vi bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}"Plugins via tpm: tmux-sensible, tmux-yank and the catppuccin theme.
## shell
zsh + starship ↗
zsh with a starship prompt: git branch, runtime versions and nothing else in the way.
zoxide + fzf ↗
`z play` jumps to the playground from anywhere; fzf fuzzy-finds history and files.
## editor
Neovim ↗
Where most of the code gets written. A Lua config, managed with lazy.nvim.
›cat neovim.md
The plugins that carry their weight:
- telescope to find files and grep, with the native fzf sorter
- harpoon to jump between the four files I'm actually working in
- nvim-lspconfig + mason for language servers, nvim-cmp for completion
- nvim-dap with the VS Code JS adapter for debugging Node
- vim-fugitive and gitsigns for git, undotree for the undo history
- trouble for diagnostics, zen-mode for writing
A few remaps I'd miss:
vim.keymap.set("i", "jj", "<Esc>") -- leave insert mode vim.keymap.set("n", "<space>j", ":cnext<CR>") -- walk the quickfix list vim.keymap.set("n", "<space>k", ":cprev<CR>") vim.keymap.set("n", "<space>x", ":.lua<CR>") -- run the current line as LuaRelative line numbers, no wrap,
scrolloff = 8and a persistent undo file. And yes, cellular-automaton is installed, for when the code deserves to melt.
## cli
ripgrep, fd, bat, jq ↗
Faster, friendlier grep, find and cat, plus jq for every JSON response.
lazygit ↗
Staging hunks and fixing up commits without remembering the flags.
GitHub CLI ↗
PRs, checks and issues without leaving the terminal. Every PR on this site went through it.