Do we need to measure complexity? With what metrics? What benefits can it brings? This is the questions we'll answer in this article.
Understanding the Vim runtime open new possibilities to configure your favorite editor: you can create some config for specific filetypes, or even load custom functions only when you use them.
The Open-Closed Principle was born when inheritance was seen as the solution for too many problems. Robert Martin reinterpretation of it doesn't really make sense: we shouldn't create abstractions each time we want to modify our code.
We're going further down the Vim's rabbit hole! We'll look this time at special arguments you can use in your mappings, how to create operator pending mappings, the command ':execute', autocommands, custom functions, user commands, and more!
We speak about it, we complain about it, we want to get rid of it. But do we really understand what's a legacy system?