¿Cómo configurar la finalización sin distinción entre mayúsculas y minúsculas de los nombres de las ramas para git en bash?

¿Cómo configurar la finalización sin distinción entre mayúsculas y minúsculas de los nombres de las ramas para git en bash?

Utilizo Debian Stretch para el desarrollo web. Su shell predeterminado es bash. Utilizo git para el control de versiones del código fuente. Me gustaría tener nombres de sucursales de git que no distingan entre mayúsculas y minúsculas. Por el momento, completar usando TABla clave distingue entre mayúsculas y minúsculas. ¿Cómo puedo conseguir esto?

Aquí está mi /etc/inputrc. Lo edito como root y lo vuelvo a cargar como usuario normal conbind -f /etc/inputrc

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.

# Be 8 bit clean.
set input-meta on
set output-meta on

# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
"\e[5~": beginning-of-history
"\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif


# go right to showing multiple options
# set show-all-if-ambiguous on
# TAB by itself cycles through options
# "\t": menu-complete

$if Bash
    # no shift needed; less typing = good
    set completion-ignore-case on
    # append a '/' to show a dir is a dir
    set mark-directories on
    set mark-symlinked-directories on
    # use ls -F style highlights for completion
    set visible-stats on
    # go right to showing multiple options
    # set show-all-if-ambiguous on
    # TAB by itself cycles through options
    # "\t": menu-complete
    # ESC-i cycles through options
    # "\e-i": menu-complete
$endif

# Two silly macros
#
# Insert double quotes & set cursor between them
"\C-x\"": "\"\"\C-b"
#
# Insert single quotes & set cursor between them
"\C-x'": "''\C-b"

Respuesta1

De lo que estás hablando es de completar parámetros, a diferencia de completar comandos o archivos (y los comandos son archivos, por supuesto).

Parece que la finalización de parámetros en Bash no respeta el caso de ignorar la finalización; solo lo hace la coincidencia de nombres de archivos. De man bash:

   completion-ignore-case (Off)
          If set to On, readline performs filename matching and completion in a case-insensitive fashion.

Cuando lo pruebo, los comandos que admiten la finalización de parámetros (como manél mismo) distinguen entre mayúsculas y minúsculas, aunque tengo activado completar-ignorar-case.

información relacionada