42

When I am connected to my local Ubuntu dev server with putty (from my Windows 7 box) via SSH, the following key combinations don't work to move the cursor forward and backward on word boundaries:

  • Ctrl+Left Arrow on the cursor pad
  • Ctrl+Right Arrow on the cursor pad

The cursor only moves one character at a time. I'm using bash.

1
  • 2
    bash uses Emacs key bindings by default, so Alt+B and Alt+F will move backward/forward one word. You can change to vi bindings if you want and move by w
    – phuclv
    Commented Jul 2, 2018 at 2:19

2 Answers 2

59

Add these two lines to your ~/.inputrc file on the destination machine:

"\eOD": backward-word
"\eOC": forward-word

To make sure that they are the correct sequences, at a Bash prompt, type Ctrl-V Ctrl-LeftArrow and Ctrl-V Ctrl-RightArrow, you should see:

^[OD^[OC

When you start a new session, the keys will be available or you can press Ctrl-xCtrl-r to re-read the ~/.inputrc file for the current session.

7
  • Would a similar trick work for deleting whole words?
    – Casebash
    Commented Nov 1, 2011 at 4:00
  • @Casebash: Try bind -P | grep kill-word to show you the existing key bindings for deleting whole words. You can change the bindings in a similar manner to my answer above, if needed. Commented Nov 2, 2011 at 15:46
  • I noticed that OpenSuSE (12.3) had bound these sequences already to backward-char and forward-char, so rather than just adding these lines, I had to replace the lines that already contained the bindings.
    – palswim
    Commented Nov 1, 2013 at 18:15
  • Great! Worked for Ubuntu 14.04 for me, and my putty is running on a Windows 7 box.
    – Edwin Yip
    Commented May 1, 2016 at 10:01
  • 1
    It works now. I thought I should create this file on the client PC, but I just tried to do it on the server and now it works :+1:
    – nZeus
    Commented Mar 6, 2018 at 9:03
5

For the Linux console:

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert

7.7. Creating the /etc/inputrc File

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .