38

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
$endif

# 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

$endif

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

itagomo
  • 774

4 Answers4

55

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.

yPhil
  • 1,637
  • 16
  • 25
8

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
schmudu
  • 103
2

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..

drake01
  • 3,515
2

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.

Banjo
  • 21