Instalação e configuração da zsh no Gentoo GNU/Linux

Existem muitas razões para gostar do Gentoo, e sua semelhança com o Unix de Berkeley é uma delas. A seguir irei descrever como deixar nosso Gentoo mais parecido ainda com o BSD, instalando, configurando e definindo a shell zsh (shell padrão do mundo UNIX/BSD) como padrão do sistema.

[ Hits: 23.782 ]

Por: Rodrigo Chaves em 24/05/2007 | Blog: http://exherbo-br.blogspot.com/


Configuração



Para iniciar uma única sessão zsh, execute "zsh", para uma solução permanente, verifique o capítulo "Configurações de salvamento" (gravação de configurações). Após a instalação, zsh parece simples e até mesmo limitada em funcionalidade. Para mudar isso diversas mudanças na configuração precisam ser realizadas.

Compleção-com-TAB avançada:

Para ativar o famoso sistema de compleção-com-TAB da zsh, precisaremos executar os seguintes comandos:

Listagem de código 2.1: Ativando compleção

% autoload -U compinit
% compinit


O sistema de compleção padrão é feio e simplista. Se você quiser melhorar sua aparência, execute os seguintes comandos:

Listagem de código 2.2: Melhorias no sistema de compleção

% zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
% zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'


Correção de comandos:

Também é uma boa idéia ativar a auto-correção dos comandos digitados:

Listagem de código 2.3: Ativando auto-correção

% setopt correctall

Título:

O título no entanto pode parecer chato, mas podemos ajustá-lo facilmente em alguns passos. Primeiro temos que iniciar o suporte avançado a títulos:

Listagem de código 2.4: Ativando títulos avançados

% autoload -U promptinit
% promptinit


Nota: Se você está utilizando diversos prompts e não quer utilizar um título para cada um deles, pode usar o comando "prompt -l" para listar os títulos disponíveis.

Outra opção é criar seu próprio título. Para fazer isso você precisará ativar a variável de ambiente PS1.

Listagem de código 2.6: Um título customizado simples

% export PS1="[Test Prompt] > "
[Test Prompt] >

Enquanto for proveitoso ser capaz de criar um título customizado, zsh também provê muitas seqüências de escape que permitem que informação do sistema seja mostrada no título. Abaixo algumas das seqüências de escape:

SeqüênciaExibição
%THorário do sistema (HH:MM)
%*Horário do sistema (HH:MM:SS)
%DData do sistema (YY-MM-DD)
%nNome de usuário
%B - %bInicia - termina texto em negrito
%U - %uInicia - termina sublinhado
%dDiretório atual
%~Diretório atual, relativo ao ~
%MNome da máquina
%mNome da máquina (truncado antes do primeiro período)
%lTerminal atual (tty)


Estas seqüências de escape podem simplesmente serem inseridas na variável de ambiente, PS1 e zsh as interpretará automaticamente.

Listagem de código 2.7: um título mais complexo

% export PS1="[%* - %D] %d %% "
[08:44:23 - 06-02-18] /home/username %

Histórico:

Infelizmente a configuração padrão da zsh no Gentoo não inclui suporte ao comando de histórico. Trabalhar com uma shell sem histórico é muito frustrante, portanto devemos executar os seguintes comandos:

Listagem de código 2.8: Configuração básica de histórico

% export HISTSIZE=2000
% export HISTFILE="$HOME/.history"


O histórico não será salvo sem o seguinte comando:

% export SAVEHIST=$HISTSIZE

Para evitar que o histórico grave entradas duplicadas (como um "ls -l" utilizado diversas vezes em uma única sessão de shell), você pode ativar a opção hist_ignore_all_dups:

Listagem de código 2.9: Evitando duplicatas

% setopt hist_ignore_all_dups

Uma dica para prevenir que entradas especificas seja gravadas no histórico é precedê-las por pelo menos um espaço.

Listagem de código 2.10: Prevenindo entradas específicas de serem gravadas em histórico

% setopt hist_ignore_space

Este comando não será gravado. Note o espaço extra antes dele:

% cat /proc/cpuinfo

Opções diversas:

Você pode ativar a opção "autocd" se quiser evitar a digitação tediosa do comando cd para mudar de diretório (por exemplo /etc ao invés de cd /etc).

Listagem de código 2.11: Ativando a opção autocd

% setopt autocd

Se a opção "tipo-bash" para uso de caracteres "coringa" não satisfaz você, a opção "extendedglob" deve ser utilizada para ativar opções estendidas de "coringas" (algo similar a expressões regulares).

Listagem de código 2.12: Ativando opção estendida de coringas

% setopt extendedglob

Quando a opção acima estiver ativa, você poderá utilizar consultas estendidas através de coringas como em cp ^*.(tar|bz2|gz).

Página anterior     Próxima página

Páginas do artigo
   1. Instalação
   2. Configuração
   3. Configurações de salvamento (gravação de configurações)
   4. Tornando a zsh na shell padrão
Outros artigos deste autor

Metro, um breve tutorial

Leitura recomendada

Montando um workstation de desenvolvimento web em GNU/Linux

Organizando as idéias

Visual Studio no Linux

Biometria: Processamento de imagens capturadas em leitores de impressão digital

Instalando fontes TTF de forma fácil com rpm-buid

  
Comentários
[1] Comentário enviado por SMarcell em 24/05/2007 - 09:16h

Apesar de pouco conhecido, o grande Zsh e muito bom, cheio de recursos bacanas e com vários comando bem interessantes. Já uso ele com shell padrão no meu Slackware a algum tempo e não o troco por nada!

Falou!!!

[2] Comentário enviado por removido em 24/05/2007 - 10:14h

Legal,

mas como colocar cores no shell? Semelhantes ao do bash no gentoo, fazendo a distinção de pastas, arquivos de diferentes extensões, etc?

Vlw.

[3] Comentário enviado por stilldre em 24/05/2007 - 19:05h

Caro poupançudo,
Sinto em desapontá-lo mas creio que as "cores" não sejam o ponto forte da zsh, além de ser mais seguro observar seus tipos de arquivo com o comando "ls -l" por exemplo, avaliando seus arquivos através de simbolos (como caracteres do alfabeto), pois as cores podem variar entre as shells. Procure adicionar o argumento "--color=always" ao comando em que deseja observar cores. Para uma solução permanente (se você realmente precisar das cores) verifique a documentação da zsh no endereço: http://zsh.sunsite.dk/Doc/Release/zsh_21.html#SEC144
Abraço.

[4] Comentário enviado por nitromind em 24/05/2007 - 22:57h

excelente artigo ! parabens!

[5] Comentário enviado por SMarcell em 25/05/2007 - 11:26h

poupançudo =)

Aqui você vai encontrar uma série de configurações bacanas para o Zsh:

>> http://www.vivaolinux.com.br/conf/verConf.php?codigo=607

Falou!!!

[6] Comentário enviado por SMarcell em 18/01/2008 - 09:20h

Se alguém se interessar, aqui está o meu arquivo de inicialização (zshrc) do zsh:

http://www.slackbr.org/forum/viewtopic.php?f=45&t=15341

[7] Comentário enviado por M4conheiRoX em 17/10/2008 - 14:36h

mando bem still dre
=D
agora bota o teu!
ftz


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts