moving up, down, right,left in unix

I wonder why it was decided to use '  h,j , k, l ' for moving up, right, left, bottom . I am curious why these letters were chosen instead of arrows. Why not some other letters. please advise
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Are you talking about vi editor?
vi editor was designed by the computer geeks who are proper typists.  They do not want their hands to be moved out of the home row keys A-S-D-F and J-K-L-;
It makes it much faster for proper typists to stay as close to these keys as possible.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Dave BaldwinFixer of ProblemsCommented:
In addition, keyboards at that time often did not have arrow keys or function keys.  Here is a typical keyboard from that time.  
there is also a logic in that in ASCII, ctrl-H is backspace, ctrl-J is line feed, ctrl-K is vertical tab, and ctrl-L is form feed,
and on a Qwerty/Sholes keyboard, the 4 keys form a group with H on the left and L on the right.
CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Back in ye olden days when Unix was developed, there were no standards for keyboards.   Each computer manufacturer had there own version the keyword layout.  The only common layout were the qwerty layout and the numbers.  All the other stuff varied greatly.

Some keyboards had arrows and some didn't.

Additionally, the keyboards and associated consoles all used different codes (hence if you look at a Unix terminfo database, you'll see hundreds and hundreds of different keyboard/console definitions).

So in short, vi was designed to operate at the most basic level, which meant that all the operations and navigation can be done via letters and numbers, along with the Esc and Ctrl keys.
Gerwin Jansen, EE MVETopic Advisor Commented:
Hi, the keys originate from the ADM-3A terminal keyboard, see this picture here. A quote from the wikipedia article about the ADM-3A terminal:

"Similarly, the use of the HJKL keys for moving the cursor in the vi editor and its descendants also stems from the ADM-3A; it had the cursor-movement arrows printed on those four keys."
Dave BaldwinFixer of ProblemsCommented:
I actually used an ADM-3A in school... a long time ago.  And in the late 70s, early 80s, it was common to program an Eprom to translate codes from one keyboard to another to make them work with different programs.  I even had a switch on the side of a terminal to change code sets.  This is non-IBM PC of course.
oh my God... the more you know :P
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Unix OS

From novice to tech pro — start learning today.