darcs

Issue 1679 Documentation for interactive j/k bindings

Title Documentation for interactive j/k bindings
Priority wishlist Status given-up
Milestone Resolved in
Superseder Nosy List WorldMaker, darcs-devel, dmitry.kurochkin, jaredj, kowey, mndrix, twb
Assigned To
Topics Documentation, ProbablyEasy

Created on 2009-11-09.00:58:21 by twb, last changed 2017-07-31.00:35:25 by gh.

Messages
msg9217 (view) Author: twb Date: 2009-11-09.00:58:19
A vim user explained to me that the reason Darcs has "j" and "k"
bindings for "forward" and "back" is for consistency with vim.  This
had never occurred to me; I had implicitly assumed it was k for bacK,
and j was for Jibberish.

Is it worth documenting somewhere that j/k are used because of vim?

Also, are these bindings annoying for non-QWERTY users?
msg9223 (view) Author: kowey Date: 2009-11-09.11:48:42
On Mon, Nov 09, 2009 at 00:58:21 +0000, Trent W. Buck wrote:
> A vim user explained to me that the reason Darcs has "j" and "k"
> bindings for "forward" and "back" is for consistency with vim.  This
> had never occurred to me; I had implicitly assumed it was k for bacK,
> and j was for Jibberish.

Here are hints from vimtutor:

             ^
             k              Hint:  The h key is at the left and moves left.
       < h       l >               The l key is at the right and moves right.
             j                     The j key looks like a down arrow.
             v

> Is it worth documenting somewhere that j/k are used because of vim?

I think just repeating the hints are fine, or even just three words ("as in
Vi")
 
> Also, are these bindings annoying for non-QWERTY users?

Not that we can do very much about it, but I can report from using Vim
on three layouts (mostly Dvorak):

Dvorak: mostly OK because jk are next to each other and h is
        to the left of l
Azerty: same as QWERTY
Bépo: chaos ensues :-) [I don't use Bepo enough to know if it's a problem]

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
msg9228 (view) Author: WorldMaker Date: 2009-11-09.20:59:00
Eric Kow wrote:
>> Is it worth documenting somewhere that j/k are used because of vim?
> 
> I think just repeating the hints are fine, or even just three words ("as in
> Vi")

Probably a good idea. I think that j/k, in addition to being well known 
from vi, were also chosen here because they are rarely used in mnemonics 
and don't clash with more useful mnemonic letters like n/p would.

>> Also, are these bindings annoying for non-QWERTY users?
> 
> Not that we can do very much about it, but I can report from using Vim
> on three layouts (mostly Dvorak):
> 
> Dvorak: mostly OK because jk are next to each other and h is
>         to the left of l
> Azerty: same as QWERTY
> Bépo: chaos ensues :-) [I don't use Bepo enough to know if it's a problem]
> 

I use Colemak at this point (I'm quite happy with it). In Colemak j and 
k are both index finger keys on the inside/stretch column. This puts 
them in an actual "up/down" relationship, but unfortunately they are 
inverted with j above k. I've grown used to the inversion at this point 
thanks to the few tools that use vim-like bindings without rebinding 
support like Google's applications and darcs...

A couple of obvious questions to me:

* Would there be enough interest in mnemonic rebinding support (for 
crazy and/or power users) to be worth the time to implement it? (Would 
also help with l10n if that ever started to matter to darcs...)

* With haskelline would it be possible to support (on terminals that 
support it, naturally) the actual up/down arrow keys (although that 
might be confusing from a "readline" standpoint) and/or Page Up/Page 
Down as "more natural" (to non-vi user) counterparts to j/k?

--
--Max Battcher--
http://worldmaker.net
History
Date User Action Args
2009-11-09 00:58:21twbcreate
2009-11-09 11:48:44koweysetnosy: + kowey
messages: + msg9223
2009-11-09 12:08:55koweysetpriority: wishlist
status: unknown -> needs-implementation
topic: + ProbablyEasy, Documentation
nosy: + jaredj
2009-11-09 20:59:04WorldMakersetnosy: + WorldMaker
messages: + msg9228
2012-02-24 05:37:35mndrixsetnosy: + mndrix
2017-07-31 00:35:25ghsetstatus: needs-implementation -> given-up