GNU/Linux >> Znalost Linux >  >> Linux

Povolte alt/ctrl + left/right na příkazovém řádku CentOS

Díky vaší otázce jsem si konečně přečetl a zvýšil své porozumění, na zdraví!

Velmi dobrým zdrojem informací je tedy man readline . Klávesové zkratky specifikované v různých inputrc soubory řídí způsob, jakým knihovna readline BASH funguje. Podle manuálové stránky readline můžete použít buď symbolická jména klíčů, nebo escape sekvence:

   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"

Manová stránka také uvádí, že výchozí konfigurační soubor je ~/.inputrc takže doporučuji umístit vaše vázání tam.

Pokud chcete použít normální klávesy s písmeny (například Control -g ), Control-g: forward-word funguje dobře. Klávesy se šipkami jsou těžší. Pokusil jsem se najít klíč name a nepodařilo se mi to pro klávesy se šipkami. Žádný z těch, které jsem zkoušel (left-arrow , left , :left ) fungoval, takže se zdá, že jsme uvízli v únikových sekvencích.

Bohužel přesná sekvence escape se mezi emulátory terminálu liší (proto měl váš inputrc Ubuntu více řádků). Chcete-li zjistit, jakou escape sekvenci používá váš oblíbený terminál, spusťte read a poté zadejte sekvenci kláves, která vás zajímá. V terminator , xterm a gnome-terminal , Ovládání -Vlevo dát:

$ read
^[[1;5D

v aterm :

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

Trochu experimentování jsem přišel na to, že ^[[D je vlevo a ^[[1;5D je Ovládací prvek -Vlevo . První ^[ je Esc klíč, který se zde používá, předpokládám, k označení únikové sekvence .

V každém případě svázat Control -Vlevo na forward-word způsobem, který funguje pro všechny, jsem tyto řádky přidal do svého ~/inputrc :

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

Z důvodů, kterým plně nerozumím, Kontrola je reprezentován \e které by měly být Esc .

Můj konečný ~/.inputrc soubor, který funguje pro všechny výše uvedené terminály, je:

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

Linux
  1. Manipulace s úchopy kláves a ukazatelů X na příkazovém řádku?

  2. Povolte nastavení proxy pro příkaz Yum na CentOS 7

  3. CentOS nainstaloval php72, ale příkazový řádek php nefunguje

  1. Malá kopie souboru SSH na příkazovém řádku

  2. Jak najít soubory v CentOS 8 na příkazovém řádku

  3. ctrl + r v příkazovém řádku terminálu linux / ubuntu

  1. Nagios:Jak povolit argumenty příkazového řádku check_nrpe

  2. Jak se pohybovat v příkazovém řádku Linuxu pomocí klávesové zkratky (Příklady příkazů Linux Ctrl)

  3. předat stdout jako název souboru pro příkazový řádek util?