Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!udel!sbcs!libserv1.ic.sunysb.edu!jallen From: jallen@libserv1.ic.sunysb.edu (Joseph Allen) Newsgroups: comp.editors Subject: Re: Whence vi's hjkl? Message-ID: <1991Apr15.195110.26378@sbcs.sunysb.edu> Date: 15 Apr 91 19:51:10 GMT References: <1991Apr15.021544.19067@umbc3.umbc.edu> Sender: usenet@sbcs.sunysb.edu (Usenet poster) Organization: State University of New York at Stony Brook Lines: 17 In article <1991Apr15.021544.19067@umbc3.umbc.edu> rouben@math16.math.umbc.edu () writes: >I have always wondered about the choice of the {h,j,k,l} keys for >cursor movement in vi. What was the rational behind it? >Wouldn't it have been more natural to adopt the {j,k,l,;} keys >for cursor movement instead? Aren't the {j,k,l,;} keys the standard >left hand's "home" keys for touch-typists? Does it mean that the >designer(s) of vi were not touch-typists themselves? h is from ^H, backspace. j is from ^J linefeed. These and the rest are chosen because on an ADM3A terminal hjkl had arrows painted on them. -- #define h 23 /* Height */ /* jallen@ic.sunysb.edu (129.49.12.74) */ #define w 79 /* Width */ /* Amazing */ int i,r,b[]={-w,w,1,-1},d,a[w*h];m(p){a[p]=2;while(d=(p>2*w?!a[p-w-w]?1:0:0)|( p