A Guide to Zsh Expansion with Examples

Expanding files, parameters, or the history using Zsh is the fastest way to get quickly what you want, without writing boring scripts.
Expanding files, parameters, or the history using Zsh is the fastest way to get quickly what you want, without writing boring scripts.
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?
We're going deeper and deeper into Vim to discover keystrokes for INSERT mode completion, abbreviations, the viminfo (or shada) file, how to use sessions, and more!
The Zsh completion system is far from being simple to configure. That's great, because I love simplifying the complicated. Here's an overview of the powerful Zsh completion system: what it is, how to use it, and how to configure it to your own needs without using any bloated dependency.
Listening is one of the most important soft skills a developer should work on. Why? What is active listening? How to do it? In what situation?
We continue on the path to Vim mastery with digraphs, interesting keystrokes in VISUAL and INSERT MODE, thorough explanations of Vim's regex engine, vim folds, and more!