web-dev-qa-db-fra.com

Pourquoi ctrl + flèche gauche ne saute pas de mots?

Je suis sur mon Ubuntu 12.04. Chaque fois que j'édite du texte, j'utilise ctrl + left/right se déplacer/sauter entre les mots. Récemment, j'ai installé xscreensaver et modifié les raccourcis clavier pour activer mon économiseur d'écran. Mais alors, Ctrl + left cessé de répondre normalement (passer au mot suivant à gauche). Ctrl + right saute toujours au prochain mot à droite. Le problème se produit que j'utilise le terminal, Gedit ou même que je tape du texte dans des pages Web.

Je suis revenu à gnome-screensaver, j'ai retiré xscreensaver (et corrigé mes raccourcis clavier). Mais le problème demeure.

J'ai essayé de copier le contenu de /etc/inputrc dans ~/.inputrc (par défaut, je n'ai pas ~/.inputrc). J'ai eu quelques informations ici: Des caractères étranges apparaissent lorsque j'utilise les touches Ctrl et les touches fléchées pour naviguer

S'il vous plaît aider.

EDIT: Voici mon ~/.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

si je supprime/etc/inputrc, voici ce que je récupère si je tiens la touche CTRL enfoncée, puis appuie cinq fois sur la flèche droite: pressing ctrl+right arrow

Contrairement à la première image ci-dessus, maintenir CTRL et appuyer plusieurs fois sur la flèche gauche ne permet pas d'imprimer ;5D encore une fois ... c'est comme si elle acceptait la commande une fois et ne le faisait plus .. voir ci-dessous image: pressing ctrl+left arrow

18
itagomo

1 - Dans ~/.zshrc

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

2 - ou dans ~/.bashrc

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

... Et maintenant ctrl + left / right saute des mots dans byobu/tmux.

3 - Ne plaisante pas avec inputrc.

21
yPhil

J'ai eu le même problème. Je l'ai corrigé en copiant ces lignes dans mon fichier ~/.inputrc:

"\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
3
Hemanthkumar

Créez un fichier inputrc en utilisant touch ~/.inputrc.
Copiez le contenu de la réponse acceptée dans le lien auquel vous faites référence, par exemple Des caractères étranges apparaissent lorsque j'utilise les touches Ctrl et les touches fléchées pour naviguer , dans ce fichier en ouvrant le fichier ~/.inputrc à l'aide de un éditeur de texte. Sauvegarde le.
Lisez le fichier à l’aide de la commande bind ~/.inputrc ou redémarrez un nouveau terminal. Les choses devraient fonctionner ..

1
drake01

J'ai compris que sauter des mots à gauche en activant Ctrl + Gauche ne fonctionnait pas (même pas lorsque j'ai ajouté du code dans ~/.inputrc ou ~/.zshrc) car, par défaut, ce raccourci est déjà utilisé dans Ubuntu (il est redimensionné la fenêtre en cours horizontalement). Vous pouvez modifier le raccourci par défaut dans le menu Système -> Préférences -> Raccourcis clavier. Je viens de remplacer Ctrl + Gauche par Ctrl + Bas pour le libérer. Après ce remplacement, sauter les mots à gauche à l'aide de Ctrl + Gauche fonctionne bien! Même sans ~/.inputrc ou ~/.zshc.

1
Banjo