Zsh-lignende autocompletion i Bash: Sådan cykler du gennem muligheder med Tab-tasten

Hvordan kan zsh-lignende autocompletion opnås i bash, så tab-tasten cykler gennem mulighederne i stedet for blot at vise en liste? Hvad skal indsættes i .bashrc for at opnå dette?

For at opnå zsh-lignende autocompletion i bash, hvor tab-tasten cykler gennem mulighederne, skal du tilføje specifikke konfigurationslinjer til din .bashrc fil og genindlæse den ved at køre `source ~/.bashrc`.

Hvordan kan zsh-lignende autocompletion opnås i bash, så tab-tasten cykler gennem mulighederne i stedet for blot at vise en liste? Hvad skal indsættes i .bashrc for at opnå dette?

For at opnå zsh-lignende autocompletion i bash, hvor tab-tasten cykler gennem mulighederne i stedet for blot at vise en liste, kan du tilføje følgende konfiguration til din .bashrc fil:

# Enable programmable completion features
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

# Configure tab completion to cycle through options
bind 'TAB:menu-complete'
bind 'set show-all-if-ambiguous on'
bind 'set menu-complete-display-prefix on'

Her er en kort forklaring af de tilføjede linjer:

  • if ! shopt -oq posix; then: Dette sikrer, at bash ikke kører i POSIX-tilstand, hvilket kan deaktivere nogle af de avancerede funktioner.
  • . /usr/share/bash-completion/bash_completion eller . /etc/bash_completion: Dette indlæser bash-completion scriptet, som er nødvendigt for avanceret autocompletion.
  • bind 'TAB:menu-complete': Dette binder tab-tasten til menu-complete funktionen, som cykler gennem mulighederne.
  • bind 'set show-all-if-ambiguous on': Dette viser alle muligheder, hvis der er tvetydighed, når du trykker på tab-tasten.
  • bind 'set menu-complete-display-prefix on': Dette viser det fælles præfiks, når du cykler gennem mulighederne.

Efter at have tilføjet disse linjer til din .bashrc fil, skal du genindlæse filen for at ændringerne træder i kraft. Dette kan gøres ved at køre:

source ~/.bashrc

Nu skulle din bash shell have zsh-lignende autocompletion, hvor tab-tasten cykler gennem mulighederne.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker