E antes que vocês se preocupem, o post é sobre seu ambiente virtual. Mais especificamente sua linha de comando.

Se você não utiliza um console shell como seu principal ambiente de trabalho pode parar de ler aqui.

Fazem muitos anos que utilizo Linux como meu desktop tanto em casa como no trabalho. Nos últimos 10 anos devo ter tido um total de 1 ano e meio onde a máquina disponibilizada pelo meu empregador do momento era Windows. Mas mesmo assim instalei uma máquina virtual Linux e só usava o Windão pra ler email e acessar aqueles lixos corporativos que só funcionam em Internet Explorer 6.

Na minha experiência utilizar a linha de comando é muitas vezes mais eficiente do que qualquer interface gráfica, principalmente para atividades que são constantemente repetidas.

Isso dito, sempre dá pra melhorar o seu ambiente de trabalho com algumas ferramentas e truques.

Aqui vão algumas idéias. Veja o que pode ser útil e aproveitável para você. Descarte o que não se aplica e utilize a inspiração para criar suas próprias ferramentas.

Local ou remoto?

Eu passo o dia no console e tenho diversas abas ou sessões de tmux abertas. Algumas são locais no meu desktop e outras são SSH em máquinas remotas. A chance de rodar um comando no lugar errado sempre existe, então para minimizar a possibilidade de fazer besteira, eu mudo visualmente o meu console.

Eu uso konsole como meu terminal, então criei um wrapper do redor de ssh da seguinte forma:

function ssh(){
    local tmux=$(env |grep ^TMUX)
    if [ ! -z "${tmux}" ]; then
        tmux set-option status-style fg=white,bg=red
        /usr/bin/ssh $@
        tmux set-option status-style fg=black,bg=green
    else
        konsoleprofile colors="DarkPastels"
        /usr/bin/ssh $@
        konsoleprofile colors="Breeze"
    fi
}

Essa função mora no meu .bashrc e se eu estou numa sessão tmux ela muda minha barra de status para vermelho quando conecto numa sessão SSH.

Se não estou usando tmux então o konsole muda de cor quando conecto e desconecto.

Trabalho ou pessoal?

Quando trabalho de casa (o que é 100% do tempo atualmente), eu prefiro utilizar minha própria workstation. Não tem muita coisa que pode dar errado no meu ponto de vista, mas como todos os acessos acabam dependendo de chaves SSH eu tenho uma para coisas pessoas e uma para o trabalho.

Apesar de fazer uso extensivo de customizações no meu ~/.ssh/config, eu ainda uso o skm para gerenciar minhas chaves SSH.

Mais moderno e bonito

Alguns problemas foram resolvidos faz tempo. Não precisa mudar mais nada. Como o comando ls por exemplo certo? Ou talvez não?

Recentemente substitui meu ls pelo exa, uma versão moderna, escrita em Rust.

E também o cat pelo bat.

E ainda utilizo temas, scripts e funções do Bash-it, que dão uma modernizada no Bash, sem precisa adotar outro shell, como o fish.

Copiando e colando

Copiar e colar deve ser uma das coisas que faço com mais frequência. Um gerenciador de clipboard é essencial para aumentar a produtividade. Eu utilizo e recomendo CopyQ. Customizei meu atalhos e é sensacional. Não sei nem dizer quanta produtividade que ganhei.

Economizando digitar

Não tenho utilizado esse recentemente, mas já tive alguns períodos onde utilizei direto o AutoKey. É uma ferramenta que permite criar atalhos para entrar textos via teclado.

Por exemplo: Num determinado período precisei lidar com muitos tickets onde eu passava de volta para o nível 1. Se não era preciso mais entrar em contato com o cliente eu precisava adicionar no ticket: “No follow-up required.” Mas olha o tamanho disso. Dá trabalho digitar isso tudo.

Então criei um atalho chamado nofup que assim que digitado em qualquer lugar (browser, editor de texto, console), automaticamente substitui o texto por “No follow-up required.

E ainda por cima o AutoKey também pode rodar scripts Python que manipulam seu clipboard, por exemplo.

Outros

Uso o fzf no bash para procurar coisas no histórico.

Faço também uso extensivo de pequenos aliases e funções para simplificar minha vida. Recomendo colocar todos os aliases dentro do ~/.bash_aliases e fazer source desse arquivo de dentro do seu ~/.bashrc

Se você tem um ou mais truques ou sugestões bacanas, dê a letra. Estou sempre interessado em economizar um pouco mais de tempo aqui ou ali. 😉