An adequate neovim config

tl;dr: Neovim has come a long way from an experimental vim fork that it was at inception and is veritably, in my opinion, the hotbed for open source editor innovation currently. However customising it can feel daunting especially since things are changing rapidly. Having lived through vi vs emacs I was a full on emacs person jumping through my ocaml code with the venerable tuareg mode which is loved and maintained to this day. At that time, vim support for ocaml didn’t exist, thus emacs came out on top for me. ...

February 12, 2025 · 4 min · Navdeep Saini

Resolve merge conflicts like a pro with neovim

(screenshot taken from diffview.nvim repository) Over the years, I’ve gone through so many merge tools - kdiff3, meld, beyond compare, Kaleidoscope. Nvim being my editor of choice, fortunately, has a rich ecosystem of plugins where I can set up an uber merge workflow using diffview.nvim and avoid using external tools altogether. Getting started Make sure you have the latest nvim installed (I have v0.10.4). Although I use lazyvim as the base to provide the basic (and some advanced) editor features, I have to set recourse to diffview.nvim to ease my merging process. ...

February 9, 2025 · 2 min · Navdeep Saini

Command line tools for the productive web developer

In my previous post, I discussed some general purpose command line utilities that help ease your way around the command line. In this post we’ll discuss some command line utilities that are indispensable to my web development workflow, and might come in handy for you too :) pgcli/mycli All web apps depend on a database of some kind. Thus, communicating with a database is one of the most common tasks a web developer has to perform. Although MySQL and PostgreSQL come bundled with their own CLI tools, there are options like pgcli/mycli which provide more powerful interfaces to the same databases, with features like auto completion, command history, syntax highlighting and many more. ...

December 29, 2022 · 2 min · Navdeep Saini

Speeding up my zsh prompt: Part 2

In the previous post I profiled my zsh load to debug the monumental shell load time which is really annoying for me, since I spend all my time in the shell. I think I’m gonna get rid of compinit totally and look at the profiling data. Let’s dive in # autoload -Uz compinit # if [[ -n ${HOME}/.zcompdump(#qN.mh+24) ]]; then # compinit; # else # compinit -C; # fi; Launching the profiler now, the results are- ...

September 26, 2022 · 2 min · Navdeep Saini

Speeding up my zsh prompt - part 1

I’m a big fan of the z shell. I use it with the spaceship prompt and zplug for plugin management. Right now, it takes an uncomfortable amount of time to load up the prompt on terminal emulator launch, which is annoying for me since I like everything to be snappy, at least on the command line. Overview of my zshrc It’s pretty basic, boasts of a zplug installation for plugin management and some attendant plugins. ...

September 19, 2022 · 6 min · Navdeep Saini

Command line tools to make your life easier

If you’re like me, you spend most of your time in the command line, where saving even a few keystrokes can help you become significantly more productive (and happier :). Here are some tools that I’ve found to be incredibly helpful and have augmented my love for the command line through their sheer awesomeness Bat Bat is a successor to the unix cat command that boasts many superpowers, like preview with a pager, syntax highlighting, and even git changes. It supports most of the programming languages out of the box. You could just alias cat to point to bat. ...

March 5, 2019 · 4 min · Navdeep Saini