porcellis.com

ref: master

content/blog/porque-eu-uso-vim.md


  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
---
title: "Porque eu uso Vi(m) ou Uma Reflexão sobre Complexidade na Tecnologia"
date: 2020-04-02
tags: ["reflexao", "tecnologia-popular"]
---

Já faz um tempo que eu troquei meu editor de escolha pelo `vim`.
Enquanto eu estava dando uma procurada sobre outros editores de texto,
eu li bastante sobre pessoas dizendo como `vim` melhorou sua
produtividade, sobre como eles conseguiam se acostumar melhor com os
atalhos e o incrível poder de customização do vim, permitindo que eles
não precisassem sequer tocar no mouse etc. Essa *não* foi a razão pelo
qual eu troquei.

## Especificações

Lá estava eu, sentado na frente do meu antigo notebook, em um dia meio
nublado e escuro de uma tarde de sábado. Eu tinha tomado a importante decisão
de reviver o meu velho e empoeirado Lenovo G450 e com sucesso tinha
instalado o Arch Linux (isso não é um endosso) nele. Instalei nele
o Gnome e de uma forma muito bizarra, ele não funcionou muito bem.
Também pudera, tinha apenas 2GB de RAM e usava um disco rígido ao invés
de um SSD. Acabei trocando o ambiente dele pelo LXQT que conseguiu dar
folego para que eu pudesse instalar os 5 softwares que eu uso mais:
Sublime Text, Chrome, Spotify, Slack e um Terminal.

Bom, dado o cenário limitado eu me vi obrigado a ter que ir matando os
problemas conforme eles apareciam. Veja bem, o Chrome, por si só, já
possuí a fama de ser um navegador que devora a memória RAM do seu
computador. Curiosamente, ele também é o navegador mais utilizado
e o grande líder da infame "Guerra de Navegadores". Infelizmente, no meu
velho computador, ele sequer conseguia abrir o email da sua própria
empresa, pois simplesmente a aba travava. Youtube então? Nem pensar.
Acabei trocando pelo Firefox, que apesar da constante e bizarra
necessidade de questionar meu email e me sugerir criar uma conta,
me permitia navegar a web de forma considerada.

Spotify e Slack são por natureza lentos e pesados, pois veja, eles
utilizam por baixo dos panos o Electron. O que significa que eles
possuem um navegador inteiro, incluindo suporte a tecnologias como WebVR
e controles de Xbox disfarçado de uma aplicação nativa bonita. Entenda
o problema óbvio aqui, duas das mais simples aplicações que um
computador dispõe, _comunicação/chat e um reprodutor de música_ são um
navegador inteiro maqueado de uma aplicação nativa lentas e pobremente
otimizadas para o computador comum. Acabei trocando pelas páginas web
delas, que apesar de não ser tão dissoante, ocupavam menos espaço em
disco e tinham significamente uma performance melhorada.

E enfim, chegamos ao assunto desse artigo. Veja bem, o Sublime, apesar
de ser um editor de texto consideravelmente leve, conseguia ainda de vez
em quando congelar por alguns segundos. Claramente ainda performava 10x
melhor que o navegador, mas tinha eventuais dificuldades. Entretanto, eu
notava que o meu Terminal sequer tinha soluços para executar quaisquer
tarefas designadas a ele. Pois bem, um belo dia enquanto eu configurava
um servidor, me dei por conta que eu estava utilizando Vim e ele em
nenhum momento sequer tinha problemas em ler os arquivos que eu editava.
A constatação era óbvia e acabei passando o resto da semana
experimentando ele no meu cotidiano.

Simplesmente acabei me apaixonando. Ele era simples e funcional. Cumpria
a função essencial de um editor de text
quebra eu ganhava um corretor ortográfico, abas, rodar comandos de
dentro do próprio editor, reconhecimento de sintaxe e linguagens. "Ah,
mas isso tem em qualquer editor". Pois bem, e para todas essas funções
eles precisam gastar 200MB de memória RAM? [^1]. Além disso, instalando
uma parcela de plugins recomendados ele ainda conseguia ser mais leve
que Sublime. Era perfeito. Obviamente, a parte mais difícil e complexa
foi acostumar com os atalhos de teclado, que diga-se de passagem, são
feitos para serem fáceis mnemônicos que devem ser combinados para uma
utilização mais efetiva. Dando um exemplo simples, `d` é um atalho para
**Delete** (Deletar), combine com `w` que representa **Word** (palavra)
e fica fácil de memorizar.

## O que aprendi

Softwares estão cada vez mais complexos e não empáticos. Pois veja, esse
tipo de software não estão sendo mais produzidos para que o cidadão
comum possa utilizar. De tal sorte que considerando que a grande parte
da população, em especial a população de países vulgarmente chamados de
países de terceiro mundo, não tem acesso a computadores de ponta, existe
uma limitação de quem pode utilizar esses softwares mesmo sendo
softwares considerados "berços" da nova era de software como Spotify ou
Slack. Estamos falando aqui, nada mais nada menos, do que a grande
epifania de comunicação moderna[^2] que se auto-intitula
"Uma forma melhor de se trabalhar". O spotify é indiscutívelmente a maior
plataforma de streaming de conteúdo audível (música e podcasts) [^3].
E que reinventam atividades que existem desde o nascimento de computadores
pessoais e da internet, que é um reprodutor de música e uma ferramenta de chat online.
Ferramentas tão antigas e simples, que se tornam tão complexas com
o tempo e através de qual motivo? Qual a justificativa? Isso se alastra
dentro do mundo de desenvolvimento de software também, com editores da
moda como Atom e Code que conseguem realizar a tarefa de oferecer mais
_produtividade_ aos programadores em troca de _performance e espaço em
disco_. Um editor tem a simples tarefa de que quando eu pressione uma
letra no meu teclado, ele desenhe essa letra na tela e que eu possa
salvar e abrir esse arquivo. Simples assim. O resto, se não atrapalhar
ou definhar a performance é sempre bem vindo.

Proponho a seguinte reflexã
processo massivo de complexificar elementos/softwares básicos do cotidiano
e em troca do quê? Emojis? Autocompletes? Interfaces mais bonitinhas?
E acima de tudo, será que vale esse processo? Ele é acessível para
a maior parte da população?

[^1]: https://medium.com/commitlog/why-i-still-use-vim-67afd76b4db6
[^2]: https://www.dailymail.co.uk/sciencetech/article-8158065/Slack-messaging-software-hits-record-number-active-users-employees-work-home.html
[^3]: https://marketrealist.com/2019/12/us-music-streaming-apple-music-and-spotify-dominate/