GNU/Linux >> Tutoriels Linux >  >> Linux

Activer alt/ctrl + gauche/droite sur la ligne de commande CentOS

Grâce à votre question, j'ai enfin lu et augmenté ma compréhension, bravo !

Donc, une très bonne source d'information est man readline . Les raccourcis clavier spécifiés dans les différents inputrc Les fichiers contrôlent le fonctionnement de la bibliothèque BASH readline. Selon la page de manuel readline, vous pouvez utiliser des noms de clé symboliques ou des séquences d'échappement :

   Key Bindings
       The syntax for controlling key bindings in the inputrc file is
       simple.  All that is required is the name of  the  command  or
       the  text  of a macro and a key sequence to which it should be
       bound. The name may be specified in one of two ways: as a sym‐
       bolic  key  name, possibly with Meta- or Control- prefixes, or
       as a key sequence.  The name and key sequence are separated by
       a  colon.  There can be no whitespace between the name and the
       colon.

       When using the form keyname:function-name or macro, keyname is
       the name of a key spelled out in English.  For example:

              Control-u: universal-argument
              Meta-Rubout: backward-kill-word
              Control-o: "> output"

La page de manuel indique également que le fichier de configuration par défaut est ~/.inputrc Je vous recommande donc d'y placer vos fixations.

Si vous souhaitez utiliser des touches alphabétiques normales (par exemple Control -g ), Control-g: forward-word fonctionne bien. Les touches fléchées sont plus difficiles. J'ai essayé, sans succès, de trouver la clé name pour les touches fléchées. Aucun de ceux que j'ai essayés (left-arrow , left , :left ) a fonctionné, il semble donc que nous soyons coincés avec les séquences d'échappement.

Malheureusement, la séquence d'échappement exacte diffère entre les émulateurs de terminaux (c'est pourquoi votre inputrc Ubuntu avait plusieurs lignes). Pour savoir quelle séquence d'échappement votre terminal préféré utilise, exécutez read puis tapez la séquence de touches qui vous intéresse. Dans terminator , xterm et gnome-terminal , Contrôle -Gauche donner :

$ read
^[[1;5D

en aterm :

$ read
^[Od    <-- that is a capital O not a zero (0).

En expérimentant un peu, j'ai compris que ^[[D est gauche et ^[[1;5D est Contrôle -Gauche . Le premier ^[ est le Echap clé, utilisée ici, je suppose, pour désigner une séquence d'échappement .

Dans tous les cas, pour lier Control -Gauche à forward-word d'une manière qui fonctionne pour tous, j'ai ajouté ces lignes à mon ~/inputrc :

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

Pour des raisons que je n'ai pas entièrement comprises, Contrôle est représenté par \e qui devrait être Échap .

Mon dernier ~/.inputrc fichier qui fonctionne pour tous les terminaux listés ci-dessus est :

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

Linux
  1. Nagios :comment activer les arguments de ligne de commande check_nrpe

  2. Comment naviguer dans la ligne de commande Linux à l'aide du raccourci clavier (exemples de commande Linux Ctrl)

  3. passer stdout comme nom de fichier pour l'utilitaire de ligne de commande ?

  4. CentOS a installé php72 mais la ligne de commande php ne fonctionne pas

  5. Comment déplacer un mot vers la droite/gauche dans Linux/bash ?

Comment désactiver Ctrl + Alt + Suppr sur CentOS 8 / RHEL 8

Maîtrisez la ligne de commande Linux

Principes de base de la ligne de commande Linux :sudo

Comment activer la touche Alt Gr comme Alt R pour Emacs sur Ubuntu 16.04 ?

4 façons de vérifier la version de CentOS dans la ligne de commande Linux

Comment installer XAMPP sur CentOS 8