Neovim as a general-purpose almost-IDE

For a long time I used VSCode as my go-to editor, with a vim keybindings plugin for better editing. However I was never quite happy with the solution: I missed some of the features of native vim, and occasionally VSCode would become very sluggish. This all came to a head when I was working on a Matlab project, and the syntax highlighting plugin would cause the editor to lag horribly on files with anything more than 100 or so lines of code.

Adding C++ auto-completion to Vim

I recently started using Vim as my main editor for programming. After the initial learning curve, I really started enjoying it, however, there’s some things I really miss from more traditional IDEs. Two of these are auto-completion and semantic “tips”. Auto-completion allows the developer to type only part of a function or attribute name, and

Accelerating build processes with multithreading

Building (compiling) large projects can take a long time. Build systems like Make and SCons do a really good job of reusing resources that don’t need recompiling because we didn’t change anything, but compiling a large project for the first time can still take a while. One solution to this issue, especially with multicore and

Cmake basics

We already know make, a powerful tool to automate all kinds of building sequences. But if you are using it to compile large C++ projects, you will quickly find that it’s tedious to maintain, and that you’re often repeating the same commands over and over again. This, of course, opens up the door to mistakes

Git cheat sheet

Here are the git commands I most frequently use, along with a brief description of what they are used for. Setting up git init: create a new repository of the current directory. Creating commits git status: show the current status of the git repository, along with staged and untracked files. git add <filename>: add <filename>