Skip to main content
andi1984.dev
Back to all writing

Article · YouTube · 2 minute read · published

My daily workflow with TMUX and NEOVIM (Transcript)

By

Terminal workspace featuring tmux panes and Neovim

Published on 20 Feb 2024 • 1 878 views (snapshot when curated).

Watch the original video on YouTube.

Transcript

00

— Moin together! Andi here. Let me walk you through the tmux and Neovim setup I live in every day as a frontend developer.

00

— I start by attaching to my default tmux session. It boots with three windows: code, tests, and tools. The status bar tells me the branch and battery.

00

— In the code window I split the pane horizontally. The top pane is Neovim, the bottom runs whatever command I need for the current project.

00

— Inside Neovim I open the project tree with :Oil. I keep the tree minimal; fuzzy finding with Telescope gets me anywhere in a couple of keystrokes.

01

— For diagnostics I rely on the built-in LSP client with the nvim-lspconfig presets. You can see the inline hints, code actions, and signature help popping up as I move.

01

— I hit <leader>ff to jump into Telescope and search for a component. Fuzzy matching plus preview means I never leave the keyboard.

01

— Tests live in the second tmux window. I run npm test -- --watch there so I always have feedback without cluttering the main coding pane.

02

— When I need to check logs I press <prefix>\ to split the pane and tail the server output. Tmux keeps each stream isolated but within the same workspace.

02

— My third window is for tools: a lazygit pane for quick commits and another shell for things like docker compose or quick cURL calls.

02

— Speaking of lazygit, <leader>gg inside Neovim opens it in a floating window thanks to the lazygit.nvim plugin. That keeps context while staging hunks.

03

— Clipboard integration is handled by yanky.nvim. I can cycle through yank history and paste the right snippet without leaving insert mode.

03

— For styling I use null-ls with Prettier and ESLint. Formatting on save keeps the diff clean, and diagnostics show up inline courtesy of lspsaga.

03

— A small but mighty helper is harpoon. It bookmarks the files I jump between constantly so I can rotate through them with one keystroke.

04

— Back in tmux I show the key bindings I use the most: <prefix>c for new windows, <prefix>{ and } to shuffle panes, and <prefix>Ctrl+h/j/k/l to move around.

04

— Finally I detach, and the session is ready for tomorrow. Everything opens exactly where I left it because tmux keeps the processes alive.

04

— That’s the tour! Let me know in the comments which plugin deserves a deeper dive or if you want dotfiles — link is in the description. Cheers!