a semantic key map for nvim designed for the workman keyboard layout
gcc
and gcip
-- Use this setup config if you want to follow the keymap above
local unruly_worker = require('unruly-worker')
unruly_worker.setup({
-- default true
enable_lsp_map = true,
enable_select_map = true,
enable_quote_command = true,
enable_easy_window_navigate = true,
-- default false
enable_comment_map = true, -- requires a comment plugin (see DEPENDENCIES above)
enable_wrap_navigate = true,
enable_visual_navigate = true,
})
Type :help unruly-worker
for documentation that includes mnemonics for each
remap, as well as descriptions about the optional configurations.
Type help uw_(some key)
for documentation about the default for a specific key.
For example uw_S
will go to documentation for the S
keymap.
For example uw_c-a
will go to documentation for the <C-a>
keymap.
j
to Find by filename with fzf or telescopeJ
to Find text in file with fzf or telescopes
to <Plug>SurroundAddVisual
with surround.nvimenable_select_map = true
, hit s
to select then s
again to surroundBeing dyslexic has taught me its often easier for me to build a system for myself than it is to learn a system that works well for everyone else. This usually isn't my first approach when trying to learn something new, but when the struggle is real, I inevitably decide its time to reinvent the wheel. I think the creation of this keymap is a good example of how my learning style tends to unfold in my life.
After using vim as my only editor for more than 7 years I continued to have trouble remembering commands. I was proficient enough for my needs, but my skills plateaued far short of where I wanted them to be. I tried to improve using numerous different tips I found online, but I never quite felt happy with my progress.
Unrelated to vim, I decided to learn the workman layout.
This decision forced me to consider how to remap a few keys, but one thing lead
to another and eventually I had created an entirely new layout, the
unruly-worker layout. The process of creating this keymap lead to me spending about
a year reading :help
and scouring the internet for vim config gems. Which
probably seems ridiculous for many people, but for me its just how I've had to
do most things in life. The time feels well used, because I spent the last decade
writing code and I don't plan to stop for many decades to come. Now I've been using
this layout for more than A year at the time of writing this plugin. Unlike
my first 7 years with vim, I can now remember the keymap well enough to experience the
sensation of manipulating the text without noticing that my hands, or
keyboard keys, or even that vim itself has anything to do with it. For me vim
was always the right tool for the job, unruly-worker is just a
jig that makes the tool fit perfectly into my workflow.
Dyslexia may or may not have been what made it so hard for me to learn vim, but it has normalized the process of reinventing wheels to learn for me. The unruly-worker layout, is a classic example of the type of outcomes that my somewhat accidental process produces. A tool that may not be useful for anyone else, but makes a tool that is useful to many other people accessible to me.
Suggestions, Critique, and Spellcheck are always appreciated :)
See the Contributing Guite
If you like this project star the GitHub repository :)
:UnrulySchool
command that has an interactive tutorial