emacs - Editor Emacs do projeto GNU
SINTAXE
emacs [ opções da linha de comando ] [ arquivos ... ]
DESCRIÇÃO
GNU Emacs é uma versão do Emacs, escrita pelo autor do Emacs original (PDP-10), Richard Stallman. A funcionalidade do GNU Emacs abrange tudo o que outros editores fazem, e é facilmente extensível, já que seus comandos de edição são escritos em Lisp.
A documentação primária do GNU Emacs está no Manual do GNU Emacs, que você pode ler usando o Info, seja do Emacs ou como um programa independente. Consulte-o para obter documentação completa e atualizada. Esta página de manual é atualizada apenas quando alguém se voluntaria para fazê-lo.
O Emacs tem uma extensa instalação de ajuda interativa, mas ela assume que você sabe como manipular janelas e buffers do Emacs. CTRL-h ou F1 entra na instalação de Ajuda. Ajuda Tutorial (CTRL-h t) inicia um tutorial interativo para ensinar rapidamente aos iniciantes os fundamentos do Emacs. Ajuda Apropos (CTRL-h a) ajuda você a encontrar um comando com um nome que corresponda a um determinado padrão, Ajuda Chave (CTRL-h k) descreve uma determinada sequência de teclas e Ajuda Função (CTRL-h f) descreve uma determinada função Lisp.
Os muitos pacotes especiais do GNU Emacs lidam com a leitura de e-mail (RMail) e envio (Mail), edição de tópicos (Outline), compilação (Compile), execução de subshells dentro das janelas do Emacs (Shell), execução de um loop de leitura-avaliação-impressão Lisp (Lisp-Interaction-Mode), psicoterapia automatizada (Doctor) e muito mais.
Opções do Emacs
As seguintes opções são de interesse geral:
arquivo Editar arquivo.
--file=arquivo, --find-file=arquivo, --visit=arquivo
O mesmo que especificar o arquivo diretamente como um argumento.
+número Ir para a linha especificada por número (não insira um espaço entre o sinal de "+" e o número). Isso se aplica apenas ao próximo arquivo especificado.
+linha:coluna
Ir para a linha e coluna especificadas.
--chdir=diretório
Mudar para o diretório.
-q, --no-init-file
Não carregar um arquivo de inicialização.
-nl, --no-shared-memory
Não usar memória compartilhada.
--no-site-file
Não carregar o arquivo de inicialização de todo o site.
-nsl, --no-site-lisp
Não adicionar diretórios site-lisp ao load-path.
--no-desktop
Não carregar uma área de trabalho salva.
-Q, --quick
Semelhante a "-q --no-site-file --no-splash". Além disso, evite processar recursos X.
--no-splash
Não exibir uma tela de apresentação durante a inicialização.
--debug-init
Habilitar o depurador Emacs Lisp durante o processamento do arquivo de inicialização do usuário ~/.emacs. Isso é útil para depurar problemas no arquivo de inicialização.
-u usuário, --user=usuário
Carregar o arquivo de inicialização do usuário em vez do seu.
--init-directory=diretório
Iniciar o emacs com user-emacs-directory definido como diretório.
-t arquivo, --terminal=arquivo
Use o arquivo especificado como terminal em vez de usar stdin/stdout. Este deve ser o primeiro argumento especificado na linha de comando.
--daemon[=nome], --bg-daemon[=nome]
Inicie o Emacs como um daemon, habilitando o servidor Emacs e desconectando-se do terminal. Você pode então usar o comando emacsclient (veja emacsclient(1)) para se conectar ao servidor (com um nome opcional).
--fg-daemon[=nome]
Semelhante a "--bg-daemon", mas não desconecte do terminal.
--versão
Exiba as informações da versão do Emacs e saia.
--ajuda Exiba a ajuda e saia.
As seguintes opções são orientadas para Lisp (essas opções são processadas na ordem em que são encontradas):
-f função, --funcall=função
Execute a função Lisp especificada.
-l arquivo, --load=arquivo
Carregue o código Lisp no arquivo especificado.
--eval=expr, --execute=expr
Avalie a expressão Lisp especificada.
As seguintes opções são úteis ao executar o Emacs como um editor de lote:
--batch Edite no modo de lote. O editor enviará mensagens para stderr. Você deve usar as opções -l e -f para especificar os arquivos e funções a serem executados.
--script arquivo
Execute o arquivo como um script Emacs Lisp.
--insert=arquivo
Insira o conteúdo do arquivo no buffer atual.
--kill Saia do Emacs enquanto estiver no modo de lote.
-L dir, --directory=dir
Adicione dir à lista de diretórios nos quais o Emacs procura arquivos Lisp.
Usando o Emacs com X
O Emacs foi adaptado para funcionar bem com o Sistema de Janelas X. Se você executar o Emacs em janelas X, ele criará sua própria janela X para exibir. Você provavelmente desejará iniciar o editor como um processo em segundo plano para que possa continuar usando sua janela original.
O Emacs pode ser iniciado com as seguintes opções X:
--name=nome
Especifique o nome que deve ser atribuído à janela inicial do Emacs. Isso controla a pesquisa de recursos X, bem como o título da janela.
--no-x-resources
Não carregue os recursos X.
-T nome, --title=nome
Especifique o título para a janela X inicial.
-r, -rv, --reverse-video
Exiba a janela Emacs em vídeo reverso.
-fn fonte, --font=fonte
Defina a fonte da janela Emacs para a fonte especificada. Você encontrará as várias fontes X no diretório /usr/lib/X11/fonts. Observe que o Emacs só aceitará fontes de largura fixa. Nas convenções de nomenclatura de fontes X11 Release 4, qualquer fonte com o valor "m" ou "c" no décimo primeiro campo do nome da fonte é uma fonte de largura fixa. Além disso, fontes cujos nomes têm o formulário widthxheight são geralmente de largura fixa, assim como a fonte fixed. Consulte xlsfonts(1) para obter mais informações.
Quando você especificar uma fonte, certifique-se de colocar um espaço entre a opção e o nome da fonte.
--xrm=recursos
Defina recursos X adicionais.
--color, --color=modo
Substitua o modo de cor para terminais de caracteres; o modo padrão é "auto" e também pode ser "nunca", "auto", "sempre" ou um nome de modo como "ansi8".
-bw pixels, --border-width=pixels
Defina a largura da borda da janela Emacs para o número de pixels especificado por pixels. O padrão é um pixel em cada lado da janela.
-ib pixels, --internal-border=pixels
Define a largura da borda interna da janela em número de pixels especificados por pixels. O padrão é um pixel de preenchimento em cada lado da janela.
-g geometry, --geometry=geometry
Define a largura, altura e posição da janela Emacs, conforme especificado. A especificação de geometria está no formato X padrão; consulte X(7) para obter mais informações. A largura e a altura são especificadas em caracteres; o padrão para quadros GUI é uma largura de 80 e uma altura entre 35 e 40, dependendo do SO e do gerenciador de janelas. Consulte o manual do Emacs, seção "Opções para tamanho e posição da janela", para obter informações sobre como os tamanhos das janelas interagem com a seleção ou desativação da barra de ferramentas, barra de guias e barra de menu.
-lsp pixels, --line-spacing=pixels
Espaço adicional para colocar entre as linhas.
-vb, --vertical-scroll-bars
Habilita as barras de rolagem vertical.
-fh, --fullheight
Faz com que o primeiro quadro tenha a altura da tela.
-fs, --fullscreen
Faz com que o primeiro quadro fique em tela cheia.
-fw, --fullwidth
Faz com que o primeiro quadro tenha a largura da tela.
-mm, --maximized
Maximiza o primeiro quadro, como "-fw -fh".
-fg color, --foreground-color=color
Em displays coloridos, define a cor do texto.
Use o comando M-x list-colors-display para obter uma lista de nomes de cores válidos.
-bg color, --background-color=color
Em displays coloridos, define a cor do plano de fundo da janela.
-bd color, --border-color=color
Em displays coloridos, define a cor da borda da janela.
-cr color, --cursor-color=color
Em displays coloridos, define a cor do cursor de texto da janela.
-ms color, --mouse-color=color
Em displays coloridos, define a cor do cursor do mouse da janela.
-d displayname, --display=displayname
Cria a janela Emacs no display especificado por displayname. Deve ser a primeira opção especificada na linha de comando.
-nbi, --no-bitmap-icon
Não use a imagem do gnu para o ícone do Emacs.
--iconic
Inicia o Emacs em estado minimizado.
-nbc, --no-blinking-cursor
Desativa o cursor piscante.
--parent-id=xid
Define a janela pai.
-nw, --no-window-system
Informa ao Emacs para não criar um quadro gráfico. Se você usar esta opção ao invocar o Emacs de uma janela xterm(1), a exibição será feita nessa janela.
-D, --basic-display
Esta opção desabilita muitos recursos de exibição; use-a para depurar o Emacs.
Você pode definir os valores padrão do X para suas janelas Emacs no arquivo .Xresources (consulte xrdb(1)). Use o seguinte formato:
emacs.keyword:value
onde value especifica o valor padrão de keyword. O Emacs permite que você defina valores padrão para as seguintes palavras-chave:
background (class Background)
Para displays coloridos, define a cor do plano de fundo da janela.
bitmapIcon (class BitmapIcon)
Se o valor de bitmapIcon estiver definido como on, a janela será minimizada para o "kitchen sink".
borderColor (class BorderColor)
Para displays coloridos, define a cor da borda da janela.
borderWidth (class BorderWidth)
Define a largura da borda da janela em pixels.
cursorColor (class Foreground)
Para displays coloridos, define a cor do cursor de texto da janela.
cursorBlink (classe CursorBlink)
Especifica se o cursor deve piscar. O padrão é ligado. Use desligado ou falso para desativar o piscar do cursor.
font (classe Font)
Define a fonte de texto da janela.
foreground (classe Foreground)
Para monitores coloridos, define a cor do texto da janela.
fullscreen (classe Fullscreen)
O tamanho de tela cheia desejado. O valor pode ser um de fullboth, maximized, fullwidth ou fullheight, que correspondem às opções de linha de comando "-fs", "-mm", "-fw" e "-fh", respectivamente. Observe que isso se aplica apenas ao primeiro quadro.
geometry (classe Geometry)
Define a geometria da janela Emacs (conforme descrito acima).
iconName (classe Title)
Define o nome do ícone para o ícone da janela Emacs.
internalBorder (classe BorderWidth)
Define a largura da borda interna da janela em pixels.
lineSpacing (classe LineSpacing)
Espaço adicional ("entrelinhas") entre as linhas, em pixels.
menuBar (classe MenuBar)
Fornece barras de menu para os quadros se estiverem ligadas; não fornece barras de menu se estiverem desligadas. Consulte o manual do Emacs, as seções "Recursos Lucid" e "Recursos Motif", para saber como controlar a aparência da barra de menu, caso você tenha uma.
minibuffer (classe Minibuffer)
Se for nenhum, não crie um minibuffer neste quadro. Ele usará um quadro de minibuffer separado.
paneFont (classe Font)
Nome da fonte para títulos do painel de menu, em versões do Emacs que não são baseadas em toolkit.
pointerColor (classe Foreground)
Para monitores coloridos, define a cor do cursor do mouse da janela.
privateColormap (classe PrivateColormap)
Se estiver ligado, use um mapa de cores privado, no caso em que o "visual padrão" da classe PseudoColor e o Emacs o estão usando.
reverseVideo (classe ReverseVideo)
Se o valor de reverseVideo estiver definido como ligado, a janela será exibida em vídeo reverso.
screenGamma (classe ScreenGamma)
Correção gama para cores, equivalente ao parâmetro de quadro "screen-gamma".
scrollBarWidth (classe ScrollBarWidth)
A largura da barra de rolagem em pixels, equivalente ao parâmetro de quadro "scroll-bar-width".
selectionFont (classe SelectionFont)
Nome da fonte para itens de menu pop-up, em versões do Emacs que não são baseadas em toolkit. (Para versões baseadas em toolkit, consulte o manual do Emacs, as seções "Recursos Lucid" e "Recursos Motif".)
selectionTimeout (classe SelectionTimeout)
Número de milissegundos para aguardar uma resposta de seleção. Um valor de 0 significa aguardar o tempo necessário.
synchronous (classe Synchronous)
Execute o Emacs no modo síncrono se estiver ligado. O modo síncrono é útil para depurar problemas do X.
title (classe Title)
Define o título da janela Emacs.
toolBar (classe ToolBar)
Número de linhas para reservar para a barra de ferramentas.
tabBar (classe TabBar)
Número de linhas para reservar para a barra de guias.
useXIM (classe UseXIM)
Desativa o uso de métodos de entrada X (XIM) se for falso ou desligado.
verticalScrollBars (classe ScrollBars)
Fornece barras de rolagem para os quadros se estiverem ligadas; suprime as barras de rolagem se estiverem desligadas.
visualClass (classe VisualClass)
Especifica o "visual" que o X deve usar. Isso diz ao X como lidar com as cores. O valor deve começar com um de TrueColor, PseudoColor, DirectColor, StaticColor, GrayScale e StaticGray, seguido por -depth, onde depth é o número de planos de cores.
MANUAIS
Você pode encomendar cópias impressas do Manual do GNU Emacs na Free Software Foundation, que desenvolve software GNU. Consulte a loja online em [https://shop.fsf.org/]. Seu administrador local também pode ter cópias disponíveis. Como todo software e publicações da FSF, todos têm permissão para fazer e distribuir cópias do manual do Emacs. O código-fonte Texinfo do manual também está incluído na distribuição de código-fonte do Emacs.
ARQUIVOS
/usr/local/share/info — arquivos para o navegador de documentação Info. O texto completo do manual de referência do Emacs está incluído em um formato de árvore estruturada conveniente. Isso inclui o Manual de Referência do Emacs Lisp, útil para quem deseja escrever programas na linguagem de extensão Emacs Lisp, e a Introdução à Programação em Emacs Lisp.
/usr/local/share/emacs/$VERSION/lisp — arquivos de código Lisp e arquivos compilados que definem a maioria dos comandos de edição. Alguns são pré-carregados; outros são carregados sob demanda deste diretório quando são usados.
/usr/local/libexec/emacs/$VERSION/$ARCH — vários programas que são usados com o GNU Emacs.
/usr/local/share/emacs/$VERSION/etc — vários arquivos de informações.
/usr/local/share/emacs/$VERSION/etc/DOC.* — contém as strings de documentação para as primitivas Lisp e as funções Lisp pré-carregadas do GNU Emacs. Eles são armazenados aqui para reduzir o tamanho do Emacs propriamente dito.
BUGS
Existe uma lista de discussão, _, para relatar bugs e correções do Emacs. Mas, antes de relatar algo como um bug, tente ter certeza de que realmente é um bug, não um mal-entendido ou uma funcionalidade intencional. Pedimos que você leia a seção "Relatando Bugs" no manual do Emacs para obter dicas sobre como e quando relatar bugs. Além disso, inclua o número da versão do Emacs que você está executando em cada relatório de bug que enviar. Os bugs tendem a ser corrigidos se puderem ser isolados, portanto, é do seu interesse relatá-los de forma que possam ser facilmente reproduzidos.
Não espere uma resposta pessoal a um relatório de bug. O objetivo de relatar bugs é corrigi-los para todos na próxima versão, se possível. Para obter assistência pessoal, consulte o diretório de serviços em [https://www.fsf.org/resources/service/] para obter uma lista de pessoas que a oferecem.
Não envie nada além de relatórios de bugs para esta lista de discussão. Para outras listas do Emacs, consulte [https://savannah.gnu.org/mail/?group=emacs].
SEM RESTRIÇÕES
O Emacs é gratuito; qualquer pessoa pode redistribuir cópias do Emacs para qualquer pessoa, de acordo com os termos estabelecidos na GNU General Public License, uma cópia da qual acompanha cada cópia do Emacs e que também aparece no manual de referência.
Cópias do Emacs às vezes podem ser recebidas empacotadas com distribuições de sistemas Unix, mas nunca estão incluídas no escopo de qualquer licença que cubra esses sistemas. Tal inclusão viola os termos em que a distribuição é permitida. De fato, o principal objetivo da GNU General Public License é proibir que alguém anexe outras restrições à redistribuição do Emacs.
Richard Stallman incentiva você a melhorar e estender o Emacs e pede que você contribua com suas extensões para a biblioteca GNU. Eventualmente, o GNU (Gnu's Not Unix) será um substituto completo para o Unix. Todos terão a liberdade de usar, copiar, estudar e modificar o sistema GNU.
VEJA TAMBÉM
emacsclient(1), etags(1), X(7), xlsfonts(1), xterm(1), xrdb(1)
AUTORES
O Emacs foi escrito por Richard Stallman e a Free Software Foundation. Para obter créditos e agradecimentos detalhados, consulte o manual do GNU Emacs.
DIREITOS AUTORAIS
Copyright 1995-2025 Free Software Foundation, Inc.
É concedida permissão para fazer e distribuir cópias literais deste documento, desde que o aviso de direitos autorais e este aviso de permissão sejam preservados em todas as cópias.
É concedida permissão para copiar e distribuir versões modificadas deste documento sob as condições para cópia literal, desde que todo o trabalho derivado resultante seja distribuído sob os termos de um aviso de permissão idêntico a este.
É concedida permissão para copiar e distribuir traduções deste documento para outro idioma, sob as condições acima para versões modificadas, exceto que este aviso de permissão pode ser declarado em uma tradução aprovada pela Free Software Foundation.
NÃO HÁ GARANTIA, na medida permitida pela lei.