Conclusão automática da Bash

0

Eu quero a conclusão como no emacs que, se houver apenas uma conclusão no comando que você está digitando, você não precisará digitar tudo.

Por exemplo:

package ins

é suficiente em vez de digitar o todo:

package install

Existe um pacote ou script que faz isso?

Eu estou procurando uma solução que não exija apertar a tecla de tabulação, mas sim apertar a entrada imediatamente e fazer com que um script faça o auto-preenchimento antes de executar o comando.

    
por Eden K 18.09.2017 / 08:42

4 respostas

1

Eu acredito que fish shell estaria em ordem aqui. Para instalar:

  1. Faça o download em aqui

  2. Em seguida, use este tutorial para ajudá-lo a aprender.

por George Udosen 18.09.2017 / 09:07
1

bash faz isso por padrão se o pacote bash-completion estiver instalado, basta digitar, por exemplo,

> apt i

pressione Tab e você terá

> apt install

Se houver várias correspondências, pressionar Tab ↹ outra vez exibirá uma lista delas, por exemplo

> ap

Tab ↹

nada acontece

Tab ↹

aplay                         apport-bug                    apt                           aptdcon                       aptitude-curses
aplaymidi                     apport-cli                    apt-add-repository            apt-extracttemplates          aptitude-run-state-bundle
apm_available                 apport-collect                apt-cache                     apt-ftparchive                apt-key
apparmor_parser               apport-unpack                 apt-cdrom                     apt-get                       apt-mark
apparmor_status               appres                        apt-config                    aptitude                      apt-sortpkgs
applygnupgdefaults            apropos                       aptd                          aptitude-create-state-bundle  
    
por dessert 18.09.2017 / 08:49
1

Se o seu problema é que você quer Bash Completion , consulte a postagem O preenchimento automático do terminal não funciona corretamente , senão se você precisar Enter se tornar como Tab ↹ e também executar esse comando imediatamente, então você precisa adicionar o comando abaixo em seu ~/.bashrc e, em seguida, source ~/.bashrc it.

bind 'RET:"\C-i\C-j"'

O RET é encurtado para RETURN ; Você também pode usar "\C-M" , que significa Ctrl + M .

    
por sddgob 18.09.2017 / 10:52
0

Você precisa instalar bash-completion . Se já instalado, você precisa fonte:

source /etc/bash_completion

Você pode adicioná-lo ao seu arquivo .bashrc. Você pode adicionar conclusões personalizadas em /etc/bash_completion.d/

    
por Carl 18.09.2017 / 09:20