O mundo além do mouse


Linux CLI

Aviso: Você está entrando num texto majoritariamente sobre Linux (ou MacOS, BSD, Unix, Solaris, etc), apesar de boa quantidade dessas coisas serem perfeitamente possíveis no Windows (tipo usar o Vim)

Há uns 15 anos, numa empresa especializada em desenvolvimento de Inteligência Artificial, vi um programador trabalhando em 2 monitores lotados de janelas de terminal. Em cada uma das janelas, um programa diferente, “gráficos” e esquemas em modo texto em umas e o que mais me impressionou, o programador codificava na velocidade da luz em uma das janelas num estranho editor chamado “Vi” (pronuncia-se “ví ái”). O programador nunca tocava no Mouse mas se movimentava pelos documentos muito mais agilmente que eu jamais vira. Ele pulava de um ponto a outro do documento com algumas tecladas, deslocava funções inteiras pelo código e trocava sentenças enormes por outras como num passe de mágica. Aquele programador fazia muito mais só com o teclado do que eu fazia com o teclado e mouse nos editores que estava acostumado. Fiquei encantado.

Muitos anos se passaram antes que eu me atrevesse a lidar com um editor daquele pois devo confessar que, na época, não compreendera muito bem aquela bruxaria. Numa calmaria de trabalho, resolvi instalar o Vim e começar a apanhar daqueles paradigmas alienígenas que o editor propõe. A mais notória e hilária situação que acontece com todo marinheiro de primeira viagem no Vim é quando ele descobre que não consegue sair do programa de nenhum modo conhecido. Com um pequeno esforço, fazendo o tutorial fornecido com o próprio Vim, comecei a entender a genialidade desse editor inacreditável.

Linux CLI

Não vou fazer um manual sobre o Vim pois o que mais interessa para esse textinho são as teclas hjkl, assim em minúsculo mesmo pois no Vim letras maiúsculas e minúsculas fazem coisas diferentes. As teclas hjkl são usadas para movimentar o cursor no Vim (h=esquerda, j=baixo, k=cima e l=direita). Aprender a usar essas teclas é talvez o principal limite a se transpor para lidar com o Vim e a gente fica tão acostumado, tão maravilhado com a esperteza de se usar essas teclas, que nasce no nosso coração a vontade de lidar com tudo no computador (sistema operacional, internet, file browser, etc) da mesma forma que utilizamos o Vim.

Foi num browser de internet que eu, já um convertido do Vim, vi a luz: O Vimium c. (Pra ser justo, já havia usado por um tempo no Rasperry Pi 3, o internet browser, LuaKit, que usa atalhos Vim, mas ele é tão esquisito (de uma forma boa até) que não vou mencionar mais.)

O Vimium c foi na verdade a segunda extensão que testei na tentativa de navegar pelas páginas de internet com o mesmo feeling do Vim. Bem… Terceira se contarmos minhas experiências com W3m. Com um certo rubor, declaro que o grau de fanatismo já se encontrava em avançado estado e eu já havia modificado minunciosamente os atalhos do “W3m”, um browser de internet modo texto, para atalhos bem mais VIMzescos, mas quase nunca é confortável (ou mesmo recomendável) se utilizar um browser em modo texto por isso procurei por algo parecido em browsers gráficos normais. Na primeira das tentativas de se usar atalhos Vim num browser, instalei a finada extensão cVim que me ensinou excelentes atalhos especialmente projetados para a navegação em páginas internet (como possibilitar a navegação completa com apenas a mão esquerda no teclado), mas com uma certa decadência no mantenimento do código, o que levava à bugs, logo passei a usar o Vimium c (que aliás tem para Chrome, Vivaldi, Opera, Brave, Chromium e Firefox). Estranhei a princípio o Vimium c, em comparação com o cVim, mas com 3 linhas em sua configuração tudo fica igualzinho eu estava acostumado.

Linux CLI

Que maravilha é navegar sem colocar a mão no mouse! Você quer abrir um link? Tecle f, digite o tag que vai aparecer, tecle Enter e PUF, lá está. Quer abrir o link em outra tab, simples, digite F (sim, a mesma letra anterior, só que maiúscula) e siga o mesmo procedimento. Quer abrir uma tab com outro endereço? Digite t e entre o endereço. Quer fechar o tab? Tecle x. Arrependeu de ter fechado? Tecle T e a tab volta! Tem um montão de outras teclas que a gente pega o jeito em 30 minutos de prática e depois nunca mais quer outra coisa. O Scroll é feito com j e k (scrollDown e scrollUp), como no Vim, bem como w, s, e e d (scrollUp, scrollDown, scrollPageUp e scrollPageDown, respectivamente), estes últimos possibilitando toda a navegação somente com a mão esquerda no teclado (saltos de link e scrolls). A sensação de agilidade é tão grande que a gente até olha meio feio para o pobre mouse.

Claro que depois que provamos do poder do teclado no editor de textos/IDE e no Internet Browser, não queremos mais parar, né? Daí minha vida se tornou uma cruzada pela aposentadoria do mouse (o máximo que pudesse, ao menos). Comecei a usar gerenciadores de arquivos como o Vifm e o Ranger, comecei a instalar plugins de atalhos Vim em tudo que via por aí (no Atom, no Visual Studio Code, etc), mas me faltava ainda a dominação quase total do ambiente de trabalho, queria uma foram Vim de lidar com a própria interface do sistema operacional.

Linux CLI

Zanzando por aí, comecei a tomar tento das interfaces do tipo Tile Managers que o Linux tinha. Não tinha nada mais Nerdporn que aquilo em matéria de interfaces de sistema operacional, adorei! Resumindo essas interfaces, elas organizam as janelas dos programas sempre (ou quase sempre) de forma que fiquem todas visíveis ao mesmo tempo dando um certo ar de layout de revista ao sistema operacional. Fui conhecendo a I3, a Awesome, a DWM, a Qtile, a BSPwm, etc, e fui ficando fascinado. Mais tarde conheci a implementação mista da interface do PopOS que ficou maravilhosa e pensei que tinha encontrado meu ambiente mas depois de algum tempo muito feliz de interação, resolvi, por motivos de facilidade de configuração, voltar para a I3.

Fiz lindas modificações nos atalhos da I3 e hoje navego pelos programas, janelas e desktops com atalhos conceitualmente bem ligados ao Vim. Abro e fecho programas, movo janelas, pulo entre desktops, entre telas, etc, tudo usando o teclado, com um conjunto de teclas bastante próximo das minha interações do Vim ou do Vimium c. O conforto é extremo e a sensação de que a interação está acontecendo na velocidade do pensamento é muito grande sem tanto gasto mirando e clicando com o cursor do mouse. Sinto que cheguei no auje do que poderia chegar com esse tipo de interação (cheguei a testar uma forma de mover e clicar o mouse como o teclado, como forma de eliminar totalmente a necessidade do mesmo, mas acabei achando anti-produtivo).

Você deve estar pensando: Que idiotice, o mouse não apresenta nenhuma dificuldade ou improdutividade na sua utilização!

Eu digo: Ok… Tenta à sério o que eu tentei e me diga se não mudou positivamente sua forma de interagir com computador.

Vamos lá! O que você tem a perder? Dê uma voltinha no Vimium c e me diga que não é divertido. Para facilitar, aqui está a minha configuração para você importar e sair teclando.

Por fim…

Há uma miríade de programas lá fora que funcionam usando o esquema de teclas do Vim e eu testei um monte deles (QuteBrowser, LuaKit, Vifm, Ranger, etc), todos eles são surpreendentemente bons, mas qualquer um tem um limite de resistência ao queimar todas as pontes dos comportamentos tradicionais, por isso eu prefiro mesclar a interação tradicional de um browser feito o Brave (que é basicamente um Chrome que valoriza a privacidade) com a maneira disruptiva do Vim lidar com as coisas.

Back to blog