GNU/Linux >> Znalost Linux >  >> Linux

Jak změním dokončení historie bash, abych dokončil to, co je již na lince?

Pravděpodobně něco jako

# ~/.inputrc
"\e[A": history-search-backward
"\e[B": history-search-forward

nebo ekvivalentně,

# ~/.bashrc
if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi

(příkaz if kontroluje interaktivní režim)

Normálně jsou Nahoru a Dolů vázány na funkce Readline previous-history a next-history respektive. Upřednostňuji svázat PgUp/PgDn s těmito funkcemi místo toho, abych nahradil normální provoz Up/Down.

# ~/.inputrc
"\e[5~": history-search-backward
"\e[6~": history-search-forward

Po úpravě ~/.inputrc , restartujte shell nebo použijte Ctrl +X , Ctrl +R říct mu, aby znovu přečetl ~/.inputrc .

Mimochodem, pokud hledáte relevantní dokumentaci:

Bash používá knihovnu GNU Readline Library pro shell prompt a historii.


Aktualizujte soubor .inputrc pomocí následujícího:

"\C-[OA": history-search-backward
"\C-[[A": history-search-backward

"\C-[OB": history-search-forward
"\C-[[B": history-search-forward

Pokud set enable-keypad on je ve vašem ~/.inputrc jak někteří uživatelé st (suckless simple terminal) mohou mít na paměti, že klávesy se šipkami jsou v režimu klávesnice. Ubuntu se dodává s tímto užitečným /usr/share/doc/bash/inputrc.arrows :

# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD"        backward-char
"\C-[OC"        forward-char
"\C-[OA"        previous-history
"\C-[OB"        next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D"        backward-char
"\C-[[C"        forward-char
"\C-[[A"        previous-history
"\C-[[B"        next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD"       backward-char
"\C-M-OC"       forward-char
"\C-M-OA"       previous-history
"\C-M-OB"       next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D"       backward-char
"\C-M-[C"       forward-char
"\C-M-[A"       previous-history
"\C-M-[B"       next-history

Nejsem si tedy jistý, zda budete potřebovat všechny, ale možná nebude na škodu mít v ~/.inputrc :

# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char

# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char

Toto je také na stejné téma:Moje kurzorové klávesy nefungují a také tento xterm:speciální klávesy


Linux
  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Jak změnit výchozí délku čáry pro Od a Hexdump?

  3. 10 užitečných příkladů kompletních příkazů Bash_Completion pro Linux (Dokončení příkazového řádku Bash na steroidech)

  1. Jak změnit počet příkazů uložených v historii Bash

  2. Jak změním adresář v Git Bash pomocí Git pro Windows?

  3. Jaké je použití $# v Bash

  1. Jak zjistit, jakou verzi OS X používám z příkazového řádku?

  2. Jak změnit rozlišení Bash pro Debian VM?

  3. Jak rychle změnit první slovo v příkazu Bash?