Standard Vim editor window.
Tapping into tsserver with coc.nvim to enable IDE-like functionality. The "floating window" functionality is provided by Neovim.
Using fzf (and fzf.vim) as a fuzzy file opener. Much faster than Ctrl-P, because file indexing happens asynchronously.
Using fzf to run an analogue of git log -p
to quickly search a file's history.
Diffing files (and resolving merge conflicts) within Vim.
Staging files with Tig.
WTF terminal dashboard.
My setup can be found here.
Several plugins I find indispensible:
- janko/vim-test - Run specs asynchronously without leaving the editor.
- junegunn/fzf.vim - Incredibly flexible fuzzy file finder. I use it for opening files, searching open buffers, searching files' git history, navigating between unstaged changes... the list goes on.
- neoclide/coc.nvim - In my opinion, this is the most important plugin I has installed. Enables language server support for Vim, allowing for powerful, IDE like features like definition navigation, bulk renaming, etc.
- scrooloose/nerdtree - I use this with vim-devicons to show filetype-based symbols by the filenames. It's aesthetically pleasing and has ergonomic shortcuts.
- sheerun/vim-polyglot - A fairly high quality aggregator of language configurations. I've found that it "Just Works ™" when opening files of any type, no matter how arcane.
- Many, many Tim Pope plugins.
I started coding with Sublime Text, and Monokai has never not been the most natural appearance of code for me.
I use the NerdFont version of JetBrains Mono, which is a font with ligatures. It's not the most aesthetically pleasing font, but it is incredibly readable.
I currently use Bash (my dotfiles can be found here). I've been telling myself to switch to Zsh for over 3 years, but my current setup is so ingrained into my muscle memory that I've been putting it off indefinitely.
I use kitty. It GPU-accelerated, which you wouldn't think is needed for a terminal emulator, but the difference is quite stunning. I will probably never go back. Also, the configuration is incredibly friendly.
I've also listed some specific tools I particularly enjoy here.