Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you use Vim or a modal editor? I’ve been considering switching to Colemak, but I can’t figure out how I’d get past the fact that hjkl would be in a different spot.

I could change the shortcuts in software, but then it starts a cascade of changed shortcuts. Plus, I could then only use software that I’ve specifically configured. How do you SSH into a server?



This is a pretty unavoidable downside of alt keyboard layouts. For vim you'd probably want a plugin like https://github.com/jooize/vim-colemak.

If you maintain your QWERTY muscle memory, you can use it as a fallback in foreign environments, but figuring out how to smoothly setup RC files on any target is probably the ideal: https://serverfault.com/questions/400522/how-to-use-a-custom...

Personally. I gave up on Dvorak in part due to this friction when I started introducing more and more tools like Vimperator (Firefox plugin, superseded by Tridactyl) into my workflow. The flexibility of switching on a vim mode anywhere and having it be 95% what I want is very high. The other factor was I still did a lot of same-machine peering then, which it added a lot of friction to. I do know highly capable engineers who go fully down the typing-ergonomics rabbit hole and stay there, but it does consume a fair amount of one's yak-shaving budget.


FWIW in Tridactyl we literally just yesterday merged a PR [1] that lets you use an arbitrary layout (QWERTY by default) for Tridactyl binds while keeping your real layout for everything else like text input. It will turn up in the next beta release within a few weeks.

[1]: https://github.com/tridactyl/tridactyl/pull/4439


I have colemak layout and use vim as default editor for all system configs. I don't use any plugin or anything else to remap the keys. At first, this feels very weird and unintuitive, because now the key for up is actually below the key for down. But over time you start to see Vim in a different way. You lose the muscle memory associating vim commands with key positions, and instead you form connections between the commands and the keys themselves. It starts to feel like you are talking to Vim on a higher level language. If i want to change this word to something, I don't think "press these keys in a sequence", I say "c i w" to Vim which would do it for me.


FWIW, I learned Vim as a QWERTY touch-typist, then learned Dvorak, and it works just as well with Vim. I never changed any of the keybindings (and hjkl end up in reasonable places anyhow).

Couldn’t say if Colemak would work similarly well, but if your mental mapping for Vim commands is character-based (as opposed to position-on-keyboard-based) I imagine it would.

Worst case I suppose you could always revert to QWERTY.


I think I would be ok with just accepting the new positions of the movement keys, but hjkl ended up in absolutely atrocious positions.

https://colemakmods.github.io/mod-dh/


I am a heavy user of vim, but recently purchased a ZSA moonlander keyboard so I have easy access to a layer with arrows. I usually search to nav or do line jump them w or f, so not having hjkl isn't an issue.


I also use the Moonlander, and I’ve thought about using home-row arrow keys for navigation. I’m glad to hear this is working for you.


Incase it's of use, here's the layout I've ended up with after around a month's worth of tweaking (still tweaking it, but this is mostly stable in terms of the functionality I use). Some factors may not work for you depending on how small your hands are, but I can reach left-pinky 'caps lock' (escape, with arrow-y layer on hold) down to the furthest thumb key.

https://configure.zsa.io/moonlander/layouts/DN9zM/latest/5


I use a Moonlander (and similar) and the Workman layout, and have it so holding my right little finger home key activates a layer with arrow keys in the Vim movement key positions.


I use colemak and vim and it works just fine, but I first learned colemak and then got used to vim. I use the vim defaults, no custom keys. I tried customizing keys for a short while but quickly decided to keep to the defaults to make my muscle memory work on any box I log in to.


Dvorak is at least workable with Vim-style navigation. I use it, and so does notable-Vimmer ThePrimeagen, for example.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: