Conheça o Editor de Texto utilizado por Linus Torvalds

Disponível no GitHub e em kernel.org


Conheça o Editor de Texto utilizado por Linux Torvalds

A maioria das pessoas gostam de saber o que os gênios utilizam para tentar ficar mais próximo dos mestres. Nós já publicamos um artigo no “News Terminal Root” sobre o hardware do Linus Torvalds, caso você tenha interesse dá uma olhada nessa postagem: Conheça todos os componentes do PC de Linus Torvalds.

Mas se tratando de editor de texto Linus Torvalds utiliza algo do meio da famíla Emacs mais precisamente uma versão modificada com linhas específicas(e privadas) do seu gosto. Uma versão modificada do MicroEmacs que ele demonimou de uEmacs .

Introdução

A licença do uEmacs é free-noncomm, ou seja, gratuita, mas não pode utilizar para fins comerciais. Ele é chamado de uEmacs/PK , eu não sei o porque desse PK no nome, mas eu li que foi incorporado por Petri H. Kutvonen, Universidade de Helsinque, Finlândia. Talvez essa sigla PK seja as iniciais dos nomes desse cara que foi citado.

Segundo o próprio Linus Torvalds, ele decidiu modificar porque o MicroEmacs teve uma atualização e modificou algumas coisas que ele gostava da versão 3.9(“O melhor MicroEmacs que já existiu” — Linus Torvalds), logo, criou sua própria versão que possui muitos dos recursos dessa versão(3.9) com mais algumas coisas adicionadas por ele.

Instalação

O uEmacs está disponível no GitHub e também no kernel.org . Eu não sei dizer se sua distribuição possui ele no repositório, a menos que você possua um Gentoo que tem praticamente tudo no repositório quando o assunto é ferramentas para programadores!

Logo, para instalar usando o Portage, basta rodar o comando:

sudo emerge app-editors/uemacs-pk

Para outras distribuições você pode clonar o repositório do uEmacs e compilar, mas antes lembre-se de possuir a biblioteca de desenvolvimento do Ncurses. Exemplos:

sudo apt install ncurses-dev # Debian, Ubuntu, Mint e derivados
sudo dnf install ncurses-devel # Fedora, Red Hat e derivados
sudo pacman -S ncurses # Arch, Manjaro, ...

Após isso clone o repositório, pode ser:

Via GitHub

git clone https://github.com/torvalds/uemacs

Ou via kernel.org

git clone https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git

Agora é só compilar e instalar, é tão simples que só vem com um Makefile

cd uemacs
make
sudo make install

Observação: Se houver erro ao compilar, veja o passo adicional, senão, passe direto!

Passo adicional se houver erro

Para quem entende de termcap e de ncurses sabe que haverá erro se não passarmos os parâmetros corretos para compilar.

Eu, apesar de estar usando o pacote compilado pelo Portage, tentei compilar e obtive o erro:

  CC       tcap.o
  LINK     em
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: tcap.o: referência indefinida a símbolo "tgoto"
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: erro ao adicionar símbolos: DSO em falta da linha de comandos
collect2: error: ld returned 1 exit status
make: *** [Makefile:62: em] Erro 1

Assim que eu li o nome desse arquivo e uma palavra da curses.h: tgoto , já sabia do que o erro se tratava e resolvi. Se você tiver esse mesmo erro, faça isso:

  • Abra o arquivo Makefile com seu editor
  • Edite a linha que começa com com a palavra LIBS que tem esse conteúdo:
LIBS=-lcurses

E adicione o -ltinfo, deixando assim:

LIBS=-lcurses -ltinfo

Eu até fiz um pull request se ele aceitar será daqui há uns 10 anos 😃 .

E então compile de novo: make && sudo make install, o binário é o em.

Utilização

O comando para abrir o editor sem nenhum arquivo é:

em

Para obter uma ajuda, rode em --help, a saída será essa:

Usage: em filename
   or: em [options]

      +          start at the end of file
      +<n>       start at line <n>
      -g[G]<n>   go to line <n>
      --help     display this help and exit
      --version  output version information and exit

Já dá pra sentir que a parada é bem basicona, né?! 😃

Alguns comandos

Nos editor estilo Emacs não precisa de comando de inserção, é só começar a digitar que o texto já aparece no arquivo!

  • em [nome-do-arquivo] - Abre o arquivo indicado em [nome-do-arquivo], exemplo: em main.cpp;
  • Alt + z - Salva e sai ;
  • Ctrl + x d(digite rapidamente o x e depois d) - Sai sem salvar se você teclar y para a pergunta: Modified buffers exist. Leave anyway (y/n)?;

E entre diversos outros comandos que você pode consultar na Wiki do MicroEmacs que também servem para o uEmacs.

Lembrando que ^X siginifica Ctrl + x e M siginifica Alt .

Até mais!

Referências


editores


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!