mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
48 lines
3.4 KiB
Markdown
48 lines
3.4 KiB
Markdown
---
|
|
filename: emacs.txt
|
|
contributors:
|
|
- ["Joseph Riad", "https://github.com/Joseph-Riad"]
|
|
translators:
|
|
- ["André de Santa Gabriel", "https://github.com/andredesanta"]
|
|
---
|
|
|
|
O Emacs começou sua vida como [gnu.org/software/emacs/emacs-paper.html](https://www.gnu.org/software/emacs/emacs-paper.html) e cresceu
|
|
ao longo dos anos em um ecossistema completo. Muitas tarefas, geralmente
|
|
relegado a um conjunto diversificado de ferramentas pode ser realizado de dentro
|
|
Emacs em uma interface consistente e familiar. Exemplos incluem
|
|
gerenciamento de diretório, visualização de documentos PDF, edição de arquivos via SSH, gerenciamento de
|
|
repos git. Em suma, o Emacs é seu para fazer
|
|
o que você quiser: o espectro de usuários varia daqueles que o usam para
|
|
editar arquivos de texto para puristas extremos que o usam para substituir virtualmente seu
|
|
sistema operacional.
|
|
|
|
O Emacs é extensível através de um dialeto especializado do Lisp conhecido como Emacs
|
|
Lisp (Elisp), que possui muitas macros voltadas para a edição de texto e
|
|
gerenciamento de buffers de texto. Qualquer tecla (combinação) usada no Emacs está vinculada
|
|
para uma função Emacs Lisp e pode ser remapeado para qualquer outra função,
|
|
incluindo aqueles que você escreve
|
|
você mesmo.
|
|
|
|
# Conceitos básicos de Emacs
|
|
|
|
Aqui, discuto alguns conceitos e terminologia básicos do Emacs que podem ser
|
|
confusos para os recém-chegados (especialmente para as pessoas acostumadas à terminologia do Vim):
|
|
|
|
- O texto que o Emacs está editando é conhecido como **buffer**
|
|
- Um buffer não corresponde necessariamente a um arquivo real no disco. Pode ser apenas texto na memória.
|
|
- Quando um buffer corresponde a um arquivo no disco, dizemos que o buffer está **visitando** esse arquivo.
|
|
- O Emacs normalmente possui muitos buffers abertos ao mesmo tempo.
|
|
- A exibição do Emacs pode ser dividida em diferentes **windows**.
|
|
- Uma janela do sistema operacional para o Emacs é chamada de **frame**. Assim, quando o manual do Emacs fala sobre a abertura de um novo frame, esse essencialmente significa abrir uma nova janela do SO contendo uma (outra) instância do Emacs.
|
|
- Os conceitos convencionalmente conhecidos como recortar e colar são referido como **killing** e **yanking**, respectivamente no Emacs.
|
|
- A posição atual do cursor é chamada de **point** no Emacs. Tecnicamente, **point** é definido como a posição imediatamente antes do caractere onde o cursor está atualmente.
|
|
- Finalmente, cada buffer pode ter vários **modes** associados: o **major mode** e possivelmente vários **minor modes**.
|
|
- O **major mode** define o principal comportamento do Emacs no buffer atualmente selecionado. Isso pode ser pensado como o tipo de arquivo. Por exemplo, se você estiver editando um arquivo Python, os principais modes é (por padrão) `python-mode`, que faz com que o Emacs destaque a sintaxe Python e idente automaticamente seus blocos de código conforme exigido sintaticamente pelo seu código Python.
|
|
- **Minor modes** definem mudanças sutis no comportamento e várias alterações menores Os modos podem estar ativos ao mesmo tempo no mesmo buffer. Um exemplo menor modo é o modo flyspell, que destaca automaticamente os erros de ortografia no seu buffer.
|
|
|
|
# Recursos adicionais
|
|
|
|
- [The GNU Emacs Manual](https://www.gnu.org/software/emacs/manual/emacs.html)
|
|
- [Emacs Stack Exchange](https://emacs.stackexchange.com/)
|
|
- [Emacs Wiki](https://www.emacswiki.org/emacs/EmacsWiki)
|