What is vim.reaper?⌗
vim.reaper is simply my publicly available neovim configuration that includes advanced functionality out of the box, is easy to modify to your usecase, and looks great with your system theme.
If you are a fan of customizing your dotfiles like me, you may find it helpful to have a solid jumping off point for an ambitious project as a fully customized vim setup.
I spent more time than I would like to admit trawling through the documentation for various plugins, finding the best ones, and configuring them to my preferences.
If your preferences don’t happen to match mine, vim.reaper allows you to easily find the configuration of choice and modify it to your hearts content.
Now I know some people swear by the command line git (which is what I use 99% of the time), but every once in a while it can be nice to have a visual overview of your current git environment, which can get quite complicated at times.
Even the built in git keybinds vim.reaper already has can only get you so far.
This is where lazygit comes in. This neat TUI provides you with a visual interface to manage your current git environment. Commits, merges and more can be managed with common sense keybinds.
I don’t need fancy VCS integration into my IDE, but a quick interface like lazygit really comes in handy!
From the developer of lazygit comes lazydocker, a TUI for managing your docker environment.
Like lazygit, lazydocker opens in a centered floating window and uses common sense keybinds to allow you to quickly peruse your images, containers, volumes, configurations and more.
This is an invaluable tool for my media server, allowing me to check the logs and status of every container in the stack, with informative graphs and stats.
lazygit and lazydocker can be opened with
If you take any upper level Math/CS class, or research in pretty much any STEM field, you are bound to encounter or be required to produce LaTeX documents at some point.
LaTeX is an extremely powerful typesetting engine, but it can be quite a pain to learn at first.
Most people rely on online tools like overleaf which can be helpful, but I prefer a workflow where I can actually work on my projects if I have no internet, or if overleaf is down for whatever reason.
The plugin suite I have implemented in vim.reaper provides an overleaf like workflow, complete with automatic document compilation and linting.
Simply open a LaTeX document, press
<Leader>lc to start compilation, and see the pdf open in your configured reader, I use zathura.
As you can see on the left side of the image, neovim is more than happy to scold me for my sloppy syntax, which is helpful for a learner like me.
For years I struggled to find a way to effectively take notes on my computer, because every program seemed far too clunky to accommodate the variety of structures and equations I would need to record.
Some true gods take notes in pure LaTeX, but that seems a bit excessive, and I would waste most my time debugging errors instead of listening to the lecture.
The workflow I settled on was the same one I use to write this very blog. I use neovim to write markdown, and have it previewed to me live on a local webserver.
This setup is essentially the best of both worlds. These markdown files can be opened and read by any markdown viewer, or just read as plain text files.
What’s more, I can use any of the extremely flexible markdown syntax that suits my needs, including support for LaTeX rendering, diagrams, code blocks, and more.
To make the whole setup perfect, I manually modified the look of the markdown preview to take colors from
wal, meaning it will look just like any other program in your cohesively
Finally, a setup that allows me to take the notes I need without being slowed down by cumbersome software.
Now there is a configurable translation plugin! Run your text of choice through your favorite translation engine.
You can set the output to display in a window, or simply replace the target text in your document.
Taking advantage of this fancy new centered floating window patch, vista fzf now Opens in a centered window instead of at the bottom of the screen.
I am always looking to improve this setup, so don’t hesitate to send a PR if you have a good idea. I’m looking forward to continued development of this robust configuration.