Transferred. I tried to send you this email when I transferred it but I just got a rejection notice yesterday. I just wanted to pass along some of my original thinking:
I’m a long-time emacs user and emacs also has single-character register names. Instead of just porting over emacs features to Atom directly I tried to put some thought into redesigning them from scratch. For this package I tracked my usage and noticed that register uses for me were really bimodal:
Easily 95%+ were using a single register to hold something for just a little bit. (Emacs has a great clipboard ring that helps with this too.) I almost always use ‘q’ since it is easy to hit.
The rest of the time I was refactoring a bunch of functions and usually had two to three items I would assign to a mnemonic key like “t” for top (something at the top of each function or chunk of code I was redoing), etc.
This led me to a design with 1 single-keystroke register called the Quick Register. The rest are named making it easy to still use mnemonic names if you want (“top” is quickly selected by just pressing “t” for example) but allowing me to use longer more memorable names for cases where the refactoring is going to be over a longer period of time.
I didn’t want to port directly since Atom is its own editor and will have a different set of users than emacs. Something designed just for converts from emacs or vi should probably not use a generic name but something like “vi-registers” so we don’t clutter up the Atom landscape.
If your current thinking is that it takes too many keystrokes, first make sure you have assigned the quick register commands to easy to use hotkeys. If the issue is that you want more than 1 quick register, may I suggest keeping the naming system as-is, but either (1) creating quick registers 1-9 or (2) creating a single quick register command that accepts a single character as the name. Realistically how many single-character registers would a person actually have? I think the end result would be more powerful than registers in either emacs or vi.