Skip to content

ortense/helix.wasd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

              .-=--------++:   _     _           _
              +==        .@@: | |   | |   ___   | | (_) __  __
              ++- :: . =  %%= | |___| |  /   \  | |  _  \ \/ /
              =+=  ++*+:  @%* |  ___  | /  ^  | | | | |  \  /
              -=*   :.-  .%%# | |   | | |  ---  | | | |  /  \
              -=#========*%%# |_|   |_|  \___/  |_| |_| /_/\_\
 .......::::.   -=++++++**+:  ......:::---. WASD config v0.1.0
*#-:::::..:#%=.*#-::::...:%%-.*#:::.... :#%-
+*   -:    +%#:+*   -::   *##:++   =-    *%#
**   #%    +%@.**   ::=   *#@.**   + +   *#%
##  ..-    *#@.#*   =-=.  ##@.**   +=.   ##@
*+-.     .:%#@.#+-.......-%#@.#*-......:-%#@
*|||||||||||%% *||||||||||%%  *#********+*%#
 =+*********+.  =+********++.  =++++++++++= 

A metamodern modal text editor for 21sh century.

editor screenshot in a golang project

WHAT IS THIS?!

This is my personal helix editor config, that is my "part-time" editor walking to be the main editor.

I work with node.js, frontend and golang, for this reason my language files are configured for language servers that I use on a daily basis.

FAQ

Why WASD?!

Have you ever wondered why vi editor uses the h, j, k and l keys to navigate through text?

No? Looks this fancy guy bellow:

ADM-3A computer terminal

This is one of the strong reasons, a ADM-3A, a computer terminal introduced in 70's.

And why this is important?

Vi editor, was created by Bill Joy in 1976 in a terminal like this, and bellow is the keybord layout of this family of terminal.

ADM-3A keyboard layout

No arrows! The default way to "moving" at this time was h, j, k and l. Now is realy easy to understand why vi use this keybinds.

Almost five decades later, we are still influenced by decisions made in this software. Great job Bill!! 👏👏👏

Editors like Vim, Kakoune and more recently Neovim and Helix inherited numerous features from vi, this just proves how good and ahead of its time vi was.

The history of computing is incredible, isn't it?!

But, there had to be a "but", as much as I love modal editors I've never been able to completely adapt to this type of navigation and, and to be honest, if I'm going to move with the keyboard I really prefer to use my left hand. Why? Maybe the influence by many, many hours of gaming on the PC? Perhaps ...

When i put my hands over the keyboard automatically my fingers going to the w, a, s, d. Use the thumb and pinky left to access the modifiers is easy and comfortable to me, leaving my right hand for commands and actions. Yes, like a game... 🤣

*Last but not least, this is not a recommendation, this is how I like my workflow, is good to me and is all fine if this is not good for you.

Metamodern?!

"Metamodernism refers to a number of related discourses about cultural developments that move beyond postmodernism by means of postmodernism. Many metamodern theorists characterize it in terms of both/and mediations between aspects of modernism and postmodernism".

ref.: wiki/Metamodernism

This is a joke, about a another joke. If Neovim is modern Vim, then Helix is post-modern, using WASD can only be metamodernism.

helix the post-modern modal editor

Sorry, I love art history too. 😼

Why Helix instead of Neovim?

I could summarize it in personal taste, but Helix has a set of characteristics that I like a lot.

  • Light a lot
  • Very easy to configure with .toml files
  • Simplicity
  • Multiple cursors
  • Surround

I also occasionally use neovim, you can check my current setup in this repository, but I was wanting to try something more minimalist.

What theme is this?

I use a customization of the Catppuccin Mocha theme with some colors of my personal taste and JetBrainsMono Nerd Font.

I highly recommend any flavor of Catppuccin as a theme for anything you use frequently, your eyes will thank you.

Thank you soooo much Catppuccin contributors!! 😻

How can I test this crazy thing?

requirements

(Optional) If you already has a helix setup make a backup

cp -r ~/.config/helix ~/.config/helix.bak

setup

Clone the repository

git clone https://github.com/ortense/helix ~/.config/helix

Remove the git directory

rm -rf ~/.config/helix/.git

Install language servers

# for html / css
npm i -g vscode-langservers-extracted typescript-language-server @olrtg/emmet-language-server
# go language server
go install github.com/nametake/golangci-lint-langserver@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/a-h/templ/cmd/templ@latest

Install and configure other language servers as needed by following the official documentation.

Releases

No releases published