Paano paganahin ang autocomplete sa terminal

Ito tip ay kapaki-pakinabang para sa lahat ng mga taong madalas gumamit (araw-araw) ng pandulo o console sa mga system ng GNU / Linux.

Bago magsimula

Kung sakaling wala kaming naka-install na package na bash-complete, nai-install namin ito:

aptitude install bash-pagkumpleto

Paganahin ang autocomplete sa mga TTY para sa lahat ng mga gumagamit

Nagbubukas kami / etc / profile

nano / etc / profile

Tumitingin kami sa / etc / profile para sa mga sumusunod na linya ...

# paganahin ang pagkumpleto ng bash sa mga interactive na shell
#kung [-f / etc / bash_completion] &&! shopt -oq posix; tapos
#. / etc / bash_completion
#fi

At pinalitan namin ng:

kung ["$ BASH"]; tapos
       kung [-f / etc / bash_completion] &&! shopt -oq posix; tapos
            . / etc / bash_completion
       fi
fi

Ang huli ay buhayin ang bash_completion para sa lahat ng mga gumagamit, kabilang ang root. Ngunit i-e-aktibo lamang ito sa mga TTY, at hindi sa mga terminal emulator.

I-reset namin ang TTY at iyon lang.

Tulad ng nakikita mo, nagdagdag kami ng kung sa orihinal na file, na nagpapatunay na ang bash_completion ay tumatakbo lamang kapag nasa Bash kami. Nang walang kondisyon na iyon, bibigyan kami ng GDM ng dati nang nabanggit na error, dahil ang GDM ay tatawag sa bash_completion, at sa ilang kadahilanan ay sumasalungat ito sa xsession.

Paganahin ang awtomatikong pagkumpleto sa mga emulator ng terminal para sa lahat ng mga gumagamit

Binubuksan namin /etc/bash.bashrc

# nano /etc/bash.bashrc

Tumingin kami sa /etc/bash.bashrc para sa mga sumusunod na linya ...

# paganahin ang pagkumpleto ng bash sa mga interactive na shell
#kung [-f / etc / bash_completion] &&! shopt -oq posix; tapos
#. / etc / bash_completion
#fi

... At aalisin namin ang "#" (hindi namin ito pinapansin), ganito ang hitsura:

# paganahin ang pagkumpleto ng bash sa mga interactive na shell
kung [-f / etc / bash_completion] &&! shopt -oq posix; tapos
    . / etc / bash_completion
fi

Ang huli ay buhayin ang bash_completion para sa lahat ng mga gumagamit, kabilang ang root. Ngunit paganahin lamang ito sa mga terminal emulator, at hindi sa mga TTY.

I-restart namin ang anumang terminal at magkakabisa ang mga pagbabago.

Paganahin ang pag-autocompleto sa mga emulator ng terminal para sa isang gumagamit lamang

Dapat nating likhain (o i-edit, kung mayroon ito) ang file ~ / .bashrc.

nano ~ / .bashrc

Nagdagdag kami (o paghahanap kung wala ang mga ito, ngunit nagkomento, tulad ng ginagawa sa /etc/bash.bashrc) upang ganito ang hitsura:

# paganahin ang pagkumpleto ng bash sa mga interactive na shell
kung [-f / etc / bash_completion] &&! shopt -oq posix; tapos
    . / etc / bash_completion
fi

- Kung ang file ay nilikha namin ito, simpleng idaragdag namin ang mga linyang ito.
- Kung ang mga linyang ito ay mayroon ngunit wala, idinagdag namin ang mga ito sa dulo ng file.
- Kung mayroon ito at ang mga linyang ito ay naroroon, pasimpluwensyahan namin ang mga ito.

I-restart namin ang console at magkakabisa ang mga pagbabago.

Paganahin ang autocomplete kapag ninanais

Kailangan lang naming patakbuhin ang bash_completion sa sandaling nais naming gamitin ito. Madi-deactivate ito kapag natapos na namin ang session sa terminal (gamit ang exit command) o isara ang terminal na ginagamit namin kung nasa isang graphic na kapaligiran kami. Upang patakbuhin ito kahit kailan namin gusto, ginagawa namin:

. / etc / bash_completion
Salamat Carlos Fioriti!

Pinagmulan: ang kuwaderno noong 98


Idagdag bilang ginustong mapagkukunan sa Google