Criando uma Experiência de Terminal Personalizada com LSD: Instalação, Temas e Configurações Avançadas

Vantagens em relação ao ls tradicional

  • Identificação visual por tipo: extensões de arquivo, permissões e diretórios recebem cores e símbolos distintos.
  • Informações enriquecidas: tamanho, data de modificação e atributos são apresentados de forma organizada.
  • Flexibilidade de configuração: tema, ícones e comportamento são controlados por arquivos YAML.
  • Portabilidade: executa nativamente no Linux, macOS e Windows.
  • Desempenho: binário compilado e leve, com inicialização rápida mesmo em árvores grandes.

Instalação

Pelo gerenciador de pacotes do sistema

No macOS com Homebrew:

brew install lsd

No Fedora:

sudo dnf install lsd

No Arch Linux:

sudo pacman -S lsd

Pelo Cargo

Se já possui a toolchain do Rust:

cargo install lsd --locked

Compilando a partir do código-fonte

git clone https://github.com/lsd-rs/lsd.git
cd lsd
cargo build --release

Uso básico

Listar o diretório atual com entradas ocultas:

lsd -a

Exibir detalhes completos em formato de lista:

lsd -l

Inspecionar um caminho específico:

lsd -l /var/log

Arquivos de configuração

O LSD utiliza YAML. Os caminhos padrão são:

  • Linux/macOS: ~/.config/lsd/config.yaml
  • Windows: %APPDATA%\lsd\config.yaml

Para usar um arquivo em local alternativo:

lsd --config-file ~/.lsd/config.yaml

Exemplo de configuração inicial:

classic: false
color:
  theme: custom
icons:
  when: always
  theme: fancy
blocks:
  - permission
  - user
  - size
  - date
  - name
date: date

Personalização de cores e ícones

Modos de cor

  • default: paleta embutida.
  • no-color: desativa todas as cores.
  • custom: utiliza o arquivo colors.yaml definido pelo usuário.

O arquivo de cores deve ficar no mesmo diretório da configuração principal e permite redefinir tons para arquivos, diretórios, links simbólicos, permissões e muito mais.

Ícones

Para renderizar corretamente os glifos, instale uma Nerd Font e configure-a no emulador de terminal. Sem essa fonte, os ícones aparecerão como quadrados ou caracteres de substituição.

Combinações úteis de opções

Mostrar ícones e cores de forma explícita:

lsd -l --icon always --color auto

Visualizar a estrutura de árvore limitada a dois níveis:

lsd --tree --depth 2

Ordenar por data de modificação, do mais antigo para o mais recente:

lsd -lt --reverse

Exibir tamanhos humanamente legíveis com ícones desabilitados para diretórios muito grandes:

lsd -lh --icon never

Integração com o shell

Substitua o comando nativo por aliases no .bashrc ou .zshrc:

alias l='lsd -l'
alias lt='lsd --tree'
alias la='lsd -la'

No Fish:

alias l 'lsd -l'
alias lt 'lsd --tree'
alias la 'lsd -la'

Resolução de problemas comuns

  • Ícones não aparecem: veriifque se uma Nerd Font está instalada e selecionada no perfil do terminal.
  • Caracteres estranhos: o LSD espera UTF-8; codificações inválidas são substituídas por ``.
  • Cores inesperadas: revise a variável de ambiente LS_COLORS e o tema definido no YAML.
  • Lentidão em diretórios enormes: use --icon never ou --no-symlink para reduzir operações extras.
lsd -la /usr/share --icon never

Tags: lsd Rust nerd-fonts CLI YAML

Publicado em 6-22 00:57