GNU/Linux >> Linux Esercitazione >  >> Linux

Abilita alt/ctrl + sinistra/destra sulla riga di comando di CentOS

Grazie alla tua domanda ho finalmente letto un po' e aumentato la mia comprensione, evviva!

Quindi, un'ottima fonte di informazioni è man readline . Le combinazioni di tasti specificate nei vari inputrc i file controllano il modo in cui funziona la libreria BASH readline. Secondo la pagina man di readline puoi usare nomi di chiavi simbolici o sequenze di escape:

   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 pagina man afferma inoltre che il file di configurazione predefinito è ~/.inputrc quindi ti consiglio di posizionare i tuoi attacchi lì.

Se vuoi usare i normali tasti delle lettere (per esempio Control -g ), Control-g: forward-word funziona bene. I tasti freccia sono più difficili. Ho provato, senza riuscirci, a trovare la chiave nome per i tasti freccia. Nessuno di quelli che ho provato (left-arrow , left , :left ) ha funzionato, quindi sembra che siamo bloccati con le sequenze di escape.

Sfortunatamente, l'esatta sequenza di escape differisce tra gli emulatori di terminale (ecco perché il tuo inputrc di Ubuntu aveva più righe). Per scoprire quale sequenza di escape utilizza il tuo terminale preferito, esegui read e poi digita la sequenza di tasti che ti interessa. In terminator , xterm e gnome-terminal , Controllo -Sinistra dare:

$ read
^[[1;5D

in aterm :

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

Sperimentando un po', ho scoperto che ^[[D è Sinistra e ^[[1;5D è Controllo -Sinistra . Il primo ^[ è Esc chiave, usata qui, suppongo, per denotare una sequenza di escape .

In ogni caso, per legare Control -Sinistra a forward-word in un modo che funziona per tutti, ho aggiunto queste righe al mio ~/inputrc :

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

Per ragioni che non ho compreso appieno, Control è rappresentato da \e che dovrebbe essere Esc .

Il mio ultimo ~/.inputrc file che funziona per tutti i terminali sopra elencati è:

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

Linux
  1. Come trovare file in CentOS 8 sulla riga di comando

  2. Nagios:come abilitare gli argomenti della riga di comando check_nrpe

  3. Come navigare nella riga di comando di Linux utilizzando l'associazione di tasti (esempi di comandi Linux Ctrl)

  4. passare stdout come nome file per la riga di comando util?

  5. Come spostare una parola a destra/sinistra in linux/bash?

Come disabilitare Ctrl + Alt + Canc su CentOS 8 / RHEL 8

Padroneggia la riga di comando di Linux

Nozioni di base sulla riga di comando di Linux:sudo

Come abilitare il tasto Alt Gr come Alt R per Emacs su Ubuntu 16.04?

4 modi per controllare la versione di CentOS nella riga di comando di Linux

Come installare XAMPP su CentOS 8