Eu era usuário do vim primeiro, depois mudei para o emacs, depois para o vim, agora estou experimentando o emacs novamente.
- Ambos são ótimos editores.
- Ambos são muito extensíveis hoje
- Ambos têm ótimos plugins e comunidade
Como desenvolvedores, digitamos muito e, finalmente, para mim, mover-se em buffers e arquivos são as maiores tarefas repetitivas; portanto, quero um editor em que eu possa me mover mais rápido!
A motivação para experimentar o emacs novamente é que eu percebi que o Ctrl liderava os atalhos de teclado mais rápido que o vim e mais fácil de raciocinar.
No vim, você tem modos, você tem o modo de inserção, modo visual, modo normal, o que acontece quando você pressiona algo depende do modo que você é, é uma abordagem stateful para edição. Você se move, entra no modo de inserção, edita, sai do modo de inserção e se move novamente. Eu freqüentemente me perco se perder uma imprensa ESC ou algo assim.
No emacs não há modo, basicamente você pressiona Ctrl com o seu rosa e digita a tecla, como Cx Cf, Cx Cs, Cx Cc. Existem teclas onde você precisa soltar a tecla Ctrl, eu odeio essas e sempre as substituo por outras com o controle pressionado.
Eu acho que a abordagem do emacs é mais rápida de se pensar e digitar, mas o vim tem outra força. Seus comandos são compostáveis, geralmente têm um formato. Por exemplo, para excluir uma linha, você pode usar dd
, para excluir uma palavra dw
. Os plug-ins fazem uso desse corte, com o plug-in vim-surround você pode excluir aspas com ds "(delete surround"), excluir até o próximo / dt/
. Exclua até / / anterior dT/
e assim por diante. Então, enquanto você aprende, as coisas em movimento começam a ficar muito interessantes.
Resumindo, hoje eu percebi que os keybinds do emacs são mais rápidos para edição de macro e os comandos vim são mais poderosos para microeditação
Eu tenho usado o vim nos últimos cinco anos, então edito pensando principalmente em palavras, linhas, circunvizinhas, blocos, etc. Exclua esta linha, remova aspas, substitua aspas, exclua palavras no cursor, estou tentando descobrir o emacs move para isso
Como uma citação final, eu diria que, me preocupo mais com o fzf do que com o emacs ou vim, adoraria ter um editor totalmente baseado em fzf