Olha, depois de 20 anos codando em tudo quanto é buraco de produção – desde mainframes até todo tipo de microcontrolador – vou te dar a real: ambientes personalizados são armadilhas pra trouxa.

Você passa 3 dias configurando fontes, temas, plugins... e no fim das contas, quando precisa trabalhar num servidor remoto via SSH, em um ambiente default do CentOS 7 de 2014, você fica perdido igual cego em tiroteio.

A Única Coisa Que Importa (de Verdade):

tmux. Esse sim é o canivete suíço do programador.

Você domina tmux e vira um wizard em qualquer ambiente, de qualquer era.

Por Que Todo o Resto É Perda De Tempo:

  1. Zsh/Oh-My-Zsh/Starship: Você passa horas configurando autocomplete e temas, mas no servidor de produção só tem Bash 3.2. E aí? Vai chorar ou vai digitar o comando?

  2. Terminais "Turbo" (Alacritty, Kitty, etc): Terminal rápido é aquele que abre em 0.3s e não consome 300MB de RAM pra mostrar um "Hello World". O xterm padrão do Linux já fazem isso desde os anos 90.

  3. Substituir ls e cat por ferramentas "modernas": ls -l, cat arquivo | grep ..., e man são universais. Se você só sabe usar eza --tree --icons, vai passar vergonha quando precisar trabalhar num sistema sem seu setup mimado.

A Filosofia do Dev Sábio:

Domine as ferramentas universais: bash (sim, o velho Bash), vim/nano, ssh, grep, sed, awk.

Essas são as armas que funcionam em todo lugar, até no servidor da NASA rodando Solaris.

Customize só o inevitável:

Um .bashrc com alias ll='ls -lah' e export EDITOR=vim já resolve 99% dos problemas.

O resto é firula pra postar screenshot no Reddit.

Invista tempo em conhecimento, não em configuração:

Aprenda a debugar com strace, entender permissões do Unix, escrever scripts robustos.

Isso sim te torna um dev poderoso, não um tema de terminal "cyberpunk-neon".

Porque Nada Disso Faz Sentido:

Ambientes personalizados são como carros tunados: chamam atenção, mas quebram no primeiro quebra-mola.

Enquanto você tá aí preocupado com "Zsh vs Fish", tem gente resolvendo problema real em qualquer máquina, de qualquer geração, com ferramentas que já vem instaladas.

Pare de perder tempo com corzinhas. Domine o básico, e você será imortal. 🚀

(E sim, domine o tmux, mas antes aprenda a usar o screen)

Um abraço e bons estudos!

Curti demais sua resposta, no final do dia ambiente customizado não resolve problema de ninguem, apenas gera conforto para o dia a dia. Maior vergonha que pode ser passada é um dev ter um ambiente todo customizado e quando precisa resolver algo realmente real não saber por onde seguir. Dito isto tmux é perfeito com um window manager (dwm, i3-wm) e claramente nvim, sem muita graça na config tbm, apenas o basico para ter um conforto, porém o foco é desenvolver e resolver problema.

Você ainda não entendeu. Mas tudo bem. Daqui uns anos, tenho certeza que vai entender. Você está no caminho certo. O objetivo não é ter o máximo de conforto no seu ambiente . **É estar confortável em qualquer *default***. Acredite: você não vai ter seu setup sempre. Seu tmux/dwm/nvim são legais. Mas e quando você estiver conectado em um servidor que só tem screen e vi? (É raro, mas acontece todo dia) Se travar, se não se virar sem plugins, sua "produtividade" era só ilusão.

Tenho 16 anos de xp e concordo 200% com o que disse. A galera perde muito tempo "tunando" ambientes, seguindo hypes e esquece de focar no básico. Na hora que precisa resolver alguma coisa em um ambiente que não tem nada além do default, a maioria fica perdido.

Dito isso, sim, eu uso algumas coisas mencionadas no post (zsh e tmux) mas, se me jogar num servidor qualquer, sei me virar com o que tiver disponível. Como você disse na sua outra resposta: o objetivo é ficar confortável com qualquer default, afinal, a verdade é que você não vai ter seu setup/ambiente sempre!

Já me apelidaram de "mago do terminal", só porque eu sabia como usar o awk, grep e sed...

Abraço :)

Belo comentário, mas vou colocar minha opinião em defesa do post..

As rotinas de trabalho não são todas iguais

Em sua perspectiva é muito melhor manter a standard tools pois na sua experiência ao longo de anos isso se mostrou mais efetivo, mas esta situação nem sempre se aplicará para todos.

Hoje em dia é muito comum ter devs que não acessam o ambiente de produção/homologação ou qualquer coisa relacionada ao SSH, e se ainda precisa acessar um outro ambiente a necessidade de interação quase nunca justifica um esforço para modificação no ambiente. Para essas situações não importa muito se fora da "minha máquina" os ambientes não serão iguais (e nunca serão!), afinal se houver necessidade de utilizar outro ambiente como workspace é só migrar bem como o autor mencionou.

Meu acréscimo

É extremamente necessário saber o básico para exercer seu trabalho com excelência, mas não significa que você precise se limitar a tal. Se eu pudesse acrescentar: Além de entender bem o básico, entender como essas outras ferramentas de alto nível funcionam também, é sempre interessante aprender e estar aberto a coisas novas, não significa que o que temos como default hoje será sempre assim.

Conclusão

Terminal com ou sem corzinha paga as contas do mesmo jeito no final das contas, mas a diferença é como isso afeta sua experência do dia a dia. Vamos passar muitos anos na frente do PC de qualquer maneira, que façamos isso de uma maneira mais leve ou da forma que queremos..

Isso que nem estendemos para editores de código kkk

#Paz

Concordo e discordo, isso é uma bobera achar que a pesonalização de uma pessoa é uma bobera, e ao mesmo tempo é uma bobera eu discutir com você que é uma bobera você achar disso, intendi onde quero chegar, isso chega ser uma incógnita, isso não tem lógica mudar uma opinião sendo que você tem sua opinião. KKKKKKK chega ser ingraçado.

Acho que tá todo muito muito polido e mantendo um bom nível na discussão, mas às vezes, opiniões idiotas são só opiniões idiotas - e merecem ser tratadas como tal. Todas essas linhas compõem uma das maiores idiotices que eu já li na minha vida, e não tem décadas de experiência que podem torná-las menos idiotas.

Chamar esses plugins de "perda de tempo" e dizer que "nada disso faz sentido" é o misto ideal de arrogância e estupidez que só os comentários dessa rede social podem proporcionar - o que é reforçado pelo outro comentário deixado mais pra baixo dizendo "daqui uns anos você vai entender", como se o nosso clacerda fosse o oráculo da razão, e todos nós, que não concordamos com esse pensamento estapafúrdio, seres ignorantes, completamente alheios à imensidão do seu conhecimento. Um retrato perfeito do pico do monte Dunning-Kruger.

Essa opinião totalmente desprovida de qualquer substância intelectual é como dizer que é estupidez comprar um carro automático, porque você precisa saber dirigir o manual pra saber dirigir qualquer carro. Naturalmente que é importante você saber dirigir o carro manual - e é por isso que a prova da auto-escola usa um carro manual - mas se você dirige seu próprio carro 99.9% do tempo, por que você em sã consciência não optaria pelo conforto do carro automático? Por que você optaria por intencionalmente introduzir uma fricção maior do que zero no seu dia-a-dia, só pra, SEEEE, TALVEEEZ, um dia, você precisar dirigir outro carro, e ele calhar de ser manual, você conseguir?

Analogamente: certamente é importante saber os fundamentos do terminal, mas dizer que é perda de tempo configurar um setup onde você tem comandos ou atalhos ou recursos que te deixam mais eficiente, é optar pelo carro manual o tempo inteiro. Escolher abrir mão de funcionalidades que te tornariam mais eficiente porque "talvez um dia você talvez vai talvez precisar talvez dos comandos fundamentais do terminal" é a forma mais estúpida de otimização prematura.

O restante do texto contém TANTA asneira que eu vou fazer um speedrun aqui:

  • awk, sed, etc, existem em qualquer máquina, até na NASA: sim. Nem eu nem você trabalhamos na NASA. 99.99% do tempo a gente programa na nossa própria máquina, que pode ter o que a gente quiser.
  • customize só o inevitável: uma das maiores idiotices que eu já li.
  • x coisa te torna um dev poderoso, não um tema de terminal "cyberpunk-neon": ninguém disse que o tema torna alguém poderoso.
  • "tem gente resolvendo problema real em qualquer máquina, de qualquer geração, com ferramentas que já vem instaladas": parabéns pra eles, eu acho? Sério, com que frequência você acha que as pessoas trocam a máquina onde elas estão escrevendo código hoje em dia?

Mais pra baixo, em outro comentário, disse que se você não consegue se virar em um ambiente sem sua configuração, sua produtividade era só ilusão. Queria saber qual o malabarismo lógico que foi usado pra chegar nessa conclusão. Se eu economizo, digamos, 30 segundos todos os dias com atalhos e customizações (e eu tô chutando baixo), quando eu finalmente me deparar com um terminal diferente do meu, mesmo que eu seja um completo ignorante sobre o terminal - o que eu não sou -, no pior caso, eu economizei tempo suficiente pra poder passar duas horas batendo cabeça lá. No melhor caso, eu resolvo o problema rápido e economizei duas horas. Onde que a produtividade é uma ilusão? A produtividade é quantificável, onde que tá a ilusão?

Por fim, o problema da tua filosofia é: você programa em Assembly? Porque enquanto você tá aí perdendo tempo com açúcar sintático pra assignment de variável e alocação de memória, tem gente conversando com processadores de qualquer máquina, de qualquer arquitetura, com palavras mágicas que os processadores já sabem desde o início.

Besteira.