Logo

dev-resources.site

for different kinds of informations.

What I've Learned About My Editing Skills

Published at
12/10/2024
Categories
vim
helix
neovim
editors
Author
ik5
Categories
4 categories in total
vim
open
helix
open
neovim
open
editors
open
Author
3 person written this
ik5
open
What I've Learned About My Editing Skills

I experimented with an impressive text editor called Helix.

I believe the work on this editor is fantastic, and I love its feature set.

However, I have one β€œsmall” issue with it β€” it operates very differently from (neo)vim key bindings.
I tried to reconfigure it to be as close to vim as possible, but I couldn't achieve 100% vim-like key bindings.

If you think I'm criticizing the editor, think again. It's awesome, and you should give it a try (at least for a month).

This post is about what I learned about my skills while trying the editor.

Some History

In the year 2000, I started using Unix systems (AIX, Solaris, and FreeBSD) as a user for specific services, and I liked them much more compared to Windows. By the end of the year, someone offered me to try something new called Linux.

He gave me a CD named Mandrake Linux, and when I booted my machine, I saw a nice GUI installation screen.

Back then, I was a Windows-based software developer (Delphi, VB(A), and some basic yucky C++), so it was very different for me.

A friend showed me a cool editor named vim and some tricks he did with text on it.

In 2003, Microsoft decided to obsolete a library that a startup I worked for used, and I decided to move from the MS world to Linux.
I think it was the best decision of my life.

I wanted to understand how to do the cool stuff I saw with vim, so I wrote a guide on how to do some basic work in VIM (in my native language) to help me learn vim.

The VIM Language

One big misunderstanding about vim for non-vim users is the lack of randomness when using keys.

You have a count of something, an action to do, and a movement of some kind.

What does it mean?

  • 3yw means to copy 3 boundaries of words (including spaces) forward.

  • 3ye means to copy 3 boundaries of words (not including the last space) forward.

  • 3yb means to copy 3 boundaries of words (including the first space) backward.

  • 3dw means to delete 3 boundaries of words (including spaces) forward.

  • 3cw means to change 3 boundaries of words (including spaces) forward.

Can you see a pattern?
That's the vim language, but it's more than that. You can do it on paragraphs, parameters, and more.

What does β€œmore” mean? You have something called β€œtext objects” that you can define, for example, β€œclass,” "method," etc.

Skills, Damn Skills, and Muscle Memory

One of the issues I have with vim (I actually use neovim for several years now) is that I do not remember most of the language.

Even while writing this blog post, I needed to test what I've written regarding the vim language because I do not remember it by heart.

So, how do I use vim? Muscle memory.

I just do it, and it works for me for some strange reason.

And that's my issue with the Helix editor β€” it uses similar but different key bindings for doing the same things.
While I can find a way to re-learn it, I still need vim when I'm inside servers (for example).

But I can't figure out how to have two types of muscle memory based on the application I'm using. It's the same for me when I'm writing software.
I'm polyglot and use around 3 programming languages at the moment, and in each language, I sometimes write the wrong syntax at the start.
Also, it happens to me when I'm using different human languages that are close to each other (e.g., Spanish, Portuguese, and Italian) while my native language is not Latin-based.

But why the vim way and not something word processing-like (nano, pico, emacs, VSc, etc.)?

First, I live in the terminal. I love it, and for most stuff, it is enough for me, so Zed or VSc are not that.
Second, I find myself much more productive while using the vim language over word processing shortcuts.

So now I'm in a deadlock situation where an amazing text editor is unusable for me simply because it offers a means that makes me work well but with a different language.

Where Do I Go From Here?

Maybe I'll try Evil Helix: "A soft fork of Helix which introduces Vim keybindings and more."

But I think I wil keep myself at the moment in (neo)vim, until my skills becomes better.

vim Article's
30 articles in total
Favicon
Vim Macros: Automate Repetitive Tasks Instantly
Favicon
Develop a ulauncher extension with a command database
Favicon
vim_notes
Favicon
My text editor setup in 2025 and how I came out of extension hell
Favicon
Mastering Vim and NvChad for Coding and Development: A Comprehensive Guide
Favicon
Vim cheat sheet
Favicon
Setting Up NeoVim + LazyVim on My New Mac Mini M4 πŸ’»βœ¨
Favicon
πŸŽ‰ Welcome to the LazyVim Adventure! πŸŽ‰ Part1
Favicon
Mastering VIM: A Complete Beginner's Guide to the Command-Line Editor
Favicon
Explaining Null Device or Black Hole Register in Vim
Favicon
From Vi to NeoVim: A Journey into the Heart of Text Editing
Favicon
Neovim how to ignore directories like node_modules in Telescope
Favicon
How to Create a Markdown Code Block in Vim With a Single Keystroke
Favicon
Setting Up Neovim
Favicon
The Most Interesting Mostly Tech Reads of 2024
Favicon
How to Setup Vim for Kotlin Development
Favicon
Using Vim Navigation (h, j, k, l) as Arrow Keys on Mac with Karabiner-Elements
Favicon
vim
Favicon
How to Modify Multiple Various Matches at Once in Vim
Favicon
On Vim's Modal Nature and the Importance of Tools: The Example of Numbered Registers
Favicon
I’ve been working in IT for what feels like forever. All this time, I’ve been using Vim and just exiting by turning off the terminal. Today, an intern casually showed me :wq... My life will never be the same. πŸ€¦β€β™‚οΈ
Favicon
Atomic Note-Taking Guide
Favicon
What I've Learned About My Editing Skills
Favicon
Like Vim, but Helix
Favicon
Vim Regex Tricks - Capitalize Every First Letter
Favicon
Configurando Os Temas do Vim no Termux
Favicon
[SOLVED] Vue 3 + TypeScript + Inlay Hint support in NeoVim
Favicon
Vim: Minimalist Environment
Favicon
Configurando o AutoComplete do Vim pelo Termux
Favicon
Migrating from VSCode to Neovim: A Journey of Learning, Confusion, and Triumph! πŸš€

Featured ones: