I'm on my Ubuntu 12.04. Every time I'm editing text, I use ctrl + left/right to move/jump between words. Recently, I installed xscreensaver and changed keyboard shortcuts to activate my screensaver. But then, Ctrl + left stoped responding to normally (move to the next word to the left). Ctrl + right still jumps to next word to the right. The problem occurs whether I'm using the terminal, Gedit or even typing text in webpages.

I reverted back to gnome-screensaver, removed xscreensaver (also fixed my keyboard shortcuts). But the issue remains.

I tried to copy contents from /etc/inputrc to ~/.inputrc (by default, I don't have ~/.inputrc). I got some info here: Strange characters appearing when I use the Ctrl and Arrow keys to navigate

Please help.

EDIT: Here's my ~/.inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line


if I remove /etc/inputrc, here's what I get if I hold CTRL then press right arrow five times: pressing ctrl+right arrow

Unlike the first image above, holding CTRL and pressing left arrow more than once will not print out ;5D again... it's like it's accepting the command once and doesn't do it anymore .. see below image: pressing ctrl+left arrow


1 - In ~/.zshrc

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

2 - Or in ~/.bashrc

bind '"\e[1;5D" backward-word' 
bind '"\e[1;5C" forward-word'

... And now ctrl + left / right jump words in byobu / tmux.

3 - Don't mess with inputrc.

  • this is too long ago ... already reinstalled ubuntu – itagomo May 7 '13 at 5:38
  • 2
    Similarly if you have a Bash shell, in your ~/.bashrc file add bind '"\e[1;5D" backward-word' bind '"\e[1;5C" forward-word' – ishmael Mar 20 '14 at 19:17

I had this same problem. I fixed it by copying these lines to my ~/.inputrc file:

"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

Create inputrc file using touch ~/.inputrc.
Copy the accepted answer's content in the link you referred to i.e. Strange characters appearing when I use the Ctrl and Arrow keys to navigate , to this file by opening the file ~/.inputrc using some text editor. Save it.
Read the file using bind ~/.inputrc command or restart a new terminal. Things should work..

  • i already made my ~/.inputrc. same content as what my /etc/inputrc has. the problem here is "CTRL + Left arrow" command don't jump to the next word to the left. but aside from that, all functions work. any other solution? – itagomo Jul 13 '12 at 1:43
  • It seems the binding for ctrl+left arrow is being overridden somehow. Could you include the exact content of the inputrc file? 2nd possibility can be the line might be malformed. By the way, Is the binding for ctrl+left combination the last line of the ~/.inputrc file? – drake01 Jul 13 '12 at 3:38
  • edited post .. see above .. additional info, skipping words to the right works by holding (must not release) the CTRL key then pressing right key once every time I want to jump through words.. but going to the left, I need to release the CTRL key every time I'm skipping words .. – itagomo Jul 13 '12 at 9:21
  • anyone who can help? – itagomo Jul 19 '12 at 6:53

I figured out that skipping words to the left by triggering Ctrl+Left didn't work (even not when I added some code into ~/.inputrc or ~/.zshrc) because by default this shortcut is already used in Ubuntu (it resizes the current window horizontally). You can change the default shortcut in the System -> Preferences -> Keyboard Shortcut menu. I just replaced Ctrl+Left by Ctrl+Down to liberate it. After this replacement, skipping words to the left using Ctrl+Left works fine! Even without ~/.inputrc or ~/.zshc.

  • been searching solutions for this since very long. This was a very simple and efficient one! Thanks. – rizwanhudda Dec 11 '17 at 21:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.