conclusão do bash no modo Posix

3

Eu gostaria de usar um shell interativo Posix bash, mas o recurso autocomplete não funciona. Quando eu digito o caractere Tab, ele simplesmente imprime uma guia. A conclusão da tabulação funciona somente quando estou em um shell não-Posix ou em um shell Posix com o modo de entrada do Emacs. Eu acho o modo de entrada do Emacs muito estranho, já que estou acostumado com o modo de entrada vi . Chamar bash com o comando sh não ajuda.

Aqui está meu /etc/inputrc :

# do not bell on tab-completion
set bell-style audible

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

set editing-mode vi
set keymap vi-insert
set mark-modified-lines on

$if mode=emacs

# for Linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# commented out keymappings for pgup/pgdown to reach begin/end of history
#"\e[5~": beginning-of-history
#"\e[6~": end-of-history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

# for rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word

# 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
    
por neoprout 27.05.2014 / 04:21

2 respostas

3

Chet Ramey diz :

in POSIX mode, the vi editing mode should not map tab to complete. This is because POSIX.2 completely specifies the behavior of the vi editing mode, and the standard requires tab to be mapped to self insert by default.

Adicione a seguinte linha a ~/.inputrc : TAB: complete

Ou você pode adicionar bind 'TAB: complete' a ~/.bashrc

    
por 28.06.2015 / 04:56
1

Veja o que POSIX tem a dizer sobre sh - sem mencionar a conclusão. Portanto, o Tab produz um caractere de tabulação (horizontal).

    
por 27.05.2014 / 11:01