Conteúdo verificado

Emacs

Assuntos Relacionados: Software

Sobre este escolas selecção Wikipedia

Crianças SOS voluntários ajudaram a escolher artigos e fez outro material currículo SOS Children tem cuidado de crianças em ?frica há 40 anos. Você pode ajudar o seu trabalho na ?frica ?

Emacs
Logotipo Emacs
Emacs-screenshot.png
GNU Emacs 22.0.91.1 com vários buffers e destaque de sintaxe para LaTeX, C # e C .
Autor original (s) Richard Stallman
Developer (s) o projeto GNU
Lançamento inicial 1976, 36-37 anos
Versão estável 23,3 [ editar] (10 de Março de 2011 (2011-03-10)) [ ±]
Release Preview Não [ ±]
Escrito em C e Emacs lisp
Sistema operacional Multi-plataforma
Disponível em Inglês
Tipo Editor de texto
Licença GNU General Public License
Site http://www.gnu.org/software/emacs/

Emacs é uma classe de feature-rich editores de texto, geralmente caracterizadas pela sua extensibilidade. O desenvolvimento começou em meados dos anos 70 e, a partir de 2008, ainda está ativa. Editores de texto Emacs são mais interessam aos usuários de computador e tecnicamente proficientes programadores de computador. A versão mais popular do Emacs é GNU Emacs, uma parte do projeto GNU , que é comumente referido simplesmente como "Emacs".

O manual do GNU Emacs descreve-o como "o, customizável, auto-documentados, em tempo real editor exibição extensível." Ele é também o mais portado das implementações de Emacs. Em março de 2008, a última versão estável do GNU Emacs é a versão 22.2. A outra grande Emacs é XEmacs.

O EMACS original era um conjunto de macros editor para o Editor TECO. Ele foi escrito em 1976 por Richard Stallman , inicialmente em conjunto com Guy L. Steele, Jr .. Ele foi inspirado pelas idéias de TECMAC e TMACS, um par de editores TECO macro-escrito por Steele, Dave Lua, Richard Greenblatt, Charles Frankston, e outros. Além do GNU Emacs, outra versão do Emacs em uso é Xemacs, que é um fork do GNU Emacs começou em 1991. XEmacs manteve-se na maior parte compatível e continua a usar a mesma linguagem de extensão, Emacs Lisp, como o GNU Emacs. Quase todos GNU Emacs e XEmacs são escritos em Emacs Lisp, de modo a extensibilidade dos recursos Emacs 'é profundo.

Em Unix cultura, Emacs é um dos dois principais contendores na tradicional guerras de edição, sendo o outro vi. A palavra "emacs" muitas vezes é pluralizado como emacsen, por analogia com boxen (-se utilizado, por analogia com bois) e Vaxen.

História

Desenvolvimento Emacs começou no MIT AI Lab durante os anos 1970. Antes de sua introdução, o editor padrão no Sistema de timesharing incompatível (ITS), a sistema operacional no AI Lab do PDP-6 e PDP-10 computadores, foi um line conhecido como Editor de Texto e Corrector (TECO). Diferentemente da maioria dos editores de texto modernos, TECO tem modos distintos, que o utilizador ou usados para adicionar texto, editar o texto existente, ou exibir o documento. Digitar caracteres em TECO não colocar esses personagens diretamente em um documento; um teve que escrever uma série de instruções em língua comando TECO dizendo-lhe para introduzir os caracteres necessários, tempo durante o qual o texto editado não foi exibida na tela. Este comportamento é semelhante ao programa ed.

Richard Stallman visitou o Stanford AI Lab em 1972 ou 1974 e viu editor do laboratório "E", escrito por Fred Wright. O editor tinha um intuitivo Comportamento WYSIWYG como é usado quase universalmente por editores de texto modernos, que impressionaram Stallman. Ele retornou ao MIT, onde Carl Mikkelsen, um cabouqueiro no AI Lab, tinha acrescentado um modo de exibição + edição combinada chamada "Control-R" para TECO, permitindo a visualização da tela para ser atualizado cada vez que o usuário inseriu uma combinação de teclas. Stallman reimplemented este modo para executar de forma eficiente, em seguida, acrescentou uma macro função para o modo de exibição de edição de TECO, permitindo que o usuário redefinir qualquer combinação de teclas para executar um programa TECO.

Outra característica do E que TECO faltava era a edição de acesso aleatório. Desde a implementação original de TECO foi projetado para edição de fita de papel na PDP-1, era um editor de páginas seqüenciais. Edição típica só poderia ser feito em uma página de cada vez, na ordem das páginas no arquivo. Para fornecer acesso aleatório no Emacs, Stallman não decidiu adotar a abordagem de E de estruturar o arquivo para acesso de página aleatória no disco, mas em vez modificado TECO para lidar com grandes buffers de forma mais eficiente, e depois mudou sua filosofia de gerenciamento de arquivos para ler, editar e escrever o arquivo inteiro como um único buffer. Quase todos os editores modernos usam essa abordagem.

A nova versão do TECO foi imediatamente popular no AI Lab, e logo não acumulou uma grande coleção de macros personalizadas, cujos nomes muitas vezes terminavam em "MAC" ou "MACS", que significava "macro". Dois anos mais tarde, Guy Steele assumiu o projeto de unificar as diversas macros excessivamente em um único conjunto. Depois de uma noite de pirataria conjunta Steele e Stallman, este último terminou a execução, que inclui instalações de prorrogação ou de documentar o novo conjunto macro. O sistema resultante foi chamado EMACS, que representava "Macros de edição". Uma versão alternativa é que o Emacs significava "E com macros", uma escavação em falta de uma capacidade macro de E. De acordo com Stallman, ele escolheu o nome Emacs ", porque não estava a ser utilizado como uma abreviatura para os STI no momento ". (Também se observou que" Emack & Bolio da "era o nome de um popular loja de sorvete em Boston , a uma curta distância do MIT. Um programa de formatação de texto utilizados no seu mais tarde foi nomeado por Bolio Dave Moon, que freqüentava a loja. No entanto, Stallman não gostava que o sorvete, e nem sabia disso ao escolher o nome "Emacs"; essa ignorância é a base de um koan hackers, Emacs e Bolio).

Stallman viu um problema nos demais personalização e de facto bifurcação e certas condições de uso. Mais tarde, ele escreveu:

"EMACS foi distribuído numa base de partilha comunal, o que significa que todas as melhorias deve ser dado de volta para mim para ser incorporado e distribuído."

O Emacs original, como TECO, correu apenas na linha de computadores PDP. Seu comportamento era diferente o suficiente de TECO para ser considerado um editor de texto em seu próprio direito. Ele rapidamente se tornou o programa de edição de norma sobre ITS. Foi também portado do ITS para o Tenex e TOPS-20 sistemas operacionais por Michael McMahon, mas não Unix, inicialmente. Outros contribuintes para as primeiras versões do Emacs incluir Kent Pitman, Earl Killian, e Eugene Ciccarelli. Em 1979, o Emacs foi o editor utilizado pela maioria das pessoas no AI Lab do MIT e seu laboratório de Ciência da Computação.

Outras implementações primeiros

Muitos editores Emacs-como foram escritos nos anos seguintes para outros sistemas de computador, incluindo SINE (Sine não é EMACS), EINE ("EINE não é EMACS") e ZWEI ("ZWEI foi EINE Inicialmente", para o Máquina Lisp), que foram escritos por Michael McMahon e Daniel Weinreb. ("Eine" e "Zwei" é alemão para "um" e "dois") de Weinreb EINE foram os primeiros escritos em Emacs Lisp. Em 1978, Bernard Greenberg escreveu Multics Emacs na Cambridge Laboratório de Sistemas de Informação da Honeywell. Muitas versões do Emacs, incluindo GNU Emacs, mais tarde adotada Lisp como uma linguagem de extensão.

O primeiro editor Emacs-like para executar em Unix era Gosling Emacs, escrito em 1981 por James Gosling (que mais tarde inventado Notícias e linguagem de programação Java ). Ele foi escrito em C e, nomeadamente, usou uma linguagem com Lisp-como sintaxe conhecido como Mocklisp como uma linguagem de extensão. Em 1984 foi software proprietário.

GNU Emacs

Em 1984, Stallman começou a trabalhar no GNU Emacs para produzir um alternativa software livre para Gosling Emacs; inicialmente foi baseado em Gosling Emacs, mas Stallman substituiu o intérprete Mocklisp em seu coração com um verdadeiro intérprete Lisp, o que implicou a substituição quase todo o código. Tornou-se o primeiro programa lançado pelo nascente projeto GNU . GNU Emacs é escrito em C e fornece Emacs Lisp (-se implementado em C) como uma linguagem de extensão. Versão 13, o primeiro lançamento público, foi feito em 20 de março de 1985. A primeira versão amplamente distribuídas do GNU Emacs foi 15,34, que apareceu mais tarde em 1985. Versões 2-12 nunca existiram. As versões anteriores do GNU Emacs tinha sido contados "1.xx", mas em algum momento após a versão 1.12 foi tomada a decisão de largar o "1", como se pensava que o maior número nunca iria mudar.

GNU Emacs mais tarde foi portado para Unix. Desde que teve mais recursos que Gosling Emacs, em particular um Lisp full-featured como linguagem de extensão, logo substituídos Gosling Emacs como editor de facto Emacs em Unix.

Até 1999, o desenvolvimento do GNU Emacs foi relativamente fechado, até o ponto onde ele foi usado como um exemplo da "Catedral" estilo de desenvolvimento em A Catedral eo Bazar. O projecto adoptou entretanto uma lista de discussão pública ao desenvolvimento e anônimo Acesso CVS. Desenvolvimento ocorre em um único tronco CVS, que estava na versão 23.0.60 a partir de meados de 2008.

Richard Stallman continuou a ser o mantenedor do GNU Emacs durante a maior parte do tempo, mas levou várias pausas. O mais recente persistir e começou a de 2008, quando a manutenção foi entregue à Stefan Monnier e Chong Yidong.

Histórico de lançamento

Versão Data de lançamento Mudanças significativas
22,2 Mar 26, 2008 O novo suporte para o Bazaar, Mercurial, Monocromático, e sistemas de controle de versão Git
Novos modos principais para edição de CSS, arquivos de estilo Vera, Verilog e BibTeX
Suporte a rolagem melhorada no modo de Imagem
22,1 2 de junho de 2007 Suporte para o kit de ferramentas gráfica GTK +
Suporte para arrastar-e-soltar em X
Suporte para imagens, barra de ferramentas e dicas de ferramentas
Suporte a Unicode
Suporte para Mac OS X
21,1 20 de outubro de 2001 Suporte para exibição de cores e alguns outros atributos em terminais
Built-in de rolagem horizontal
O suporte de som
Apoio roda do mouse
Melhoria de layout barra de menu
20.1 17 de setembro de 1997 Suporte multi-lingual
19,28 15 de setembro de 1997 Suporte para vários quadros usando o Sistema X Windowing
Nova interface para sistemas de controle de versão, chamada VC
Novo modo hexl, que é um modo de edição hexadecimal
18.24 2 de outubro de 1986
17,36 20 de dezembro de 1985 Números da versão do arquivo de backup
16.56 15 de julho de 1985
15.10 11 de Abril de 1985
13.0? 20 de março de 1985

XEmacs

A partir de 1991, Lucid Emacs foi desenvolvido por Jamie Zawinski e outros em Lucid Inc., baseado em uma versão alfa cedo do GNU Emacs 19. As bases de código logo divergiu, e as equipes de desenvolvimento distintas desistiu de tentar juntá-las de volta para um único programa. Este foi um dos mais famosos precoce garfos de um programa de software livre. Lucid Emacs, desde então, foi renomeado XEmacs; continua a ser a segunda variedade mais popular de Emacs, depois o GNU Emacs.

Outros garfos modernas e clones

Muitos outros derivados dos GNU Emacs foram feitas, como uma versão em japonês para MS Windows chamado O garfo de Meadow Steve Young de XEmacs chamado SXEmacs, e uma versão que se concentra na integração com a interface de usuário da Apple Macintosh chamado Aquamacs.

Clones Emacs, não baseado no GNU Emacs código-fonte, são mais numerosos. Uma motivação para clones de escrita era que o GNU Emacs foi inicialmente direcionada a computadores com um espaço de endereço plana de 32-bit, e pelo menos 1 MiB de RAM. Numa altura em que tais computadores foram considerados de alto final, isso deixou uma abertura para reimplementações menores. Alguns clones modernos notáveis incluem:

  • MicroEmacs, originalmente escrito por Dave Conroy e desenvolvido por Daniel Lawrence, que existe em muitas variações. O editor é usado por Linus Torvalds .
  • mg, originalmente chamado MicroGNUEmacs (e mg2a mais tarde), um desdobramento de domínio público de microEmacs destinados a se parecer mais com GNU Emacs. Agora instalado por padrão no OpenBSD .
  • NotGNU, uma pequena rápida execução, freeware para DOS, Win16, Win32 e Linux por Julie Melbin.
  • JOVE (própria versão de Emacs de Jonathan), uma implementação não programável Emacs para Sistemas UNIX-like por Jonathan Payne.
  • Freemacs, uma DOS versão com uma linguagem de extensão baseado em texto de macro expansão, tudo dentro do original 64 KiB limite de memória plana.
  • MINCE (MINCE não está completa Emacs), uma versão para CP / M de Motu. MINCE evoluiu para palavra final, que eventualmente se tornou o Processador de texto Sprint da Borland.
  • Zile
  • Climacs, uma variante Emacs-implementado em Lisp comum e mais influenciada de Zmacs do que o GNU Emacs.

Licenciamento

O código fonte, incluindo componentes tanto o C e Emacs Lisp, está disponível gratuitamente para exame, modificação e redistribuição, nos termos do GNU General Public License (GPL).

Para GNU Emacs (e GNU pacotes em geral), continua a ser a política de aceitar contribuições significativas de código apenas se os detentor dos direitos autorais executa um aviso adequado ou cessão de sua participação nos direitos autorais ao Fundação do Software Livre, apesar de uma exceção foi feita a esta política para o MULE (multilingue extensão, que lida com Unicode e métodos mais avançados de lidar com os scripts de outros idiomas) de código desde detentor dos direitos autorais é o governo e atribuição de direitos de autor japonês não foi possível. Isto não se aplica a contribuições de código extremamente pequenas de menos de 10 linhas ou correções de bugs. Esta política está no lugar para que FSF pode defender o software no tribunal, se a sua licença copyleft é violada.

As versões mais antigas da documentação GNU Emacs foram liberados sob uma licença ad-hoc que exigia a inclusão de determinado texto, em qualquer cópia modificada. No manual do usuário do GNU Emacs, por exemplo, isso inclui como obter ensaio político GNU Emacs e Richard Stallman O Manifesto GNU. Os manuais XEmacs, que foram herdados de antigos manuais GNU Emacs quando o garfo ocorreu, têm a mesma licença. As versões mais recentes da documentação utilizar o GNU Free Documentation License e faz uso de "seções invariantes" para exigir a inclusão dos mesmos documentos, além disso, exigir que os manuais proclamam-se como GNU Manuais.

Características

Emacs é principalmente um editor de texto, e não um processador de texto; Ele é voltado para manipular peças de texto, em vez de manipular o tipo de letra (a "fonte") dos personagens ou impressão de documentos (embora Emacs pode fazer estes também). Emacs proporciona comandos para manipular palavras e parágrafos (excluí-los, movê-los, movendo-se através deles, e assim por diante), destaque de sintaxe para fazer código-fonte mais fácil de ler, e "macros de teclado" para a realização de lotes arbitrárias de comandos de edição definidos pelo usuário.

GNU Emacs é um editor de "visualização em tempo real" na medida em que as suas edições são exibidos na tela como você fazê-los. Este é o comportamento padrão para editores de texto modernos.

Customizável

Quase toda a funcionalidade no editor, que vão desde as operações básicas de edição tais como a inserção de caracteres para um documento com a configuração da interface do utilizador, é controlado por um dialeto do Linguagem de programação conhecido como lisp Emacs Lisp. Este projeto original e incomum fornece muitas das características encontradas em Emacs. Neste ambiente Lisp, variáveis e até mesmo todo funções podem ser modificado sem ter que recompilar ou até mesmo reiniciar o editor.

Existem três maneiras principais de personalizar Emacs. O primeiro é a extensão da personalização, que permite que o usuário defina variáveis de personalização comuns, como o esquema de cores, usando uma interface gráfica, etc. Isto é destinado para iniciantes Emacs que não querem trabalhar com o código do Emacs Lisp.

A segunda é coletar as teclas digitadas em macros e reproduzi-las para automatizar tarefas complexas e repetitivas. Isso geralmente é feito numa base ad-hoc, com cada macro descartados após o uso, apesar de macros pode ser salvo e invocado mais tarde.

O terceiro método para personalizar o Emacs está usando Emacs Lisp. Normalmente, o código do Emacs Lisp fornecido pelo usuário é armazenado em um arquivo chamado .emacs , que é carregado quando o Emacs é iniciado. O .emacs arquivo é muitas vezes usado para definir variáveis e combinações de teclas diferentes da configuração padrão, e para definir novos comandos que o usuário encontra conveniente. Muitos usuários avançados têm .emacs arquivos centenas de linhas de comprimento, com personalizações idiossincráticos que causam Emacs a divergir muito de o comportamento padrão.

Extensível

Como resultado, o comportamento de Emacs podem ser modificados quase sem limite, tanto diretamente pelo usuário, ou carregando o código do Emacs Lisp conhecida também como "bibliotecas", "pacotes", ou "extensões".

Emacs contém um grande número de bibliotecas Emacs Lisp, e mais bibliotecas "de terceiros" pode ser encontrado na Internet . Emacs pode ser usado como um Ambiente de Desenvolvimento Integrado (IDE), permitindo aos programadores editar, compilar e depurar seu código dentro de uma única interface. Outras bibliotecas executar funções mais incomuns. Alguns exemplos são listados a seguir:

  • Cale, um poderoso RPN numérica calculadora
  • De modo calendário, para manter calendários de compromisso e diários
  • Dunnet, uma aventura de texto
  • Ediff , para trabalhar com arquivos de diferenças de forma interativa.
  • Emerge, para comparar arquivos e combinando-
  • Emacs / W3, uma navegador
  • ERC, uma Cliente de IRC
  • Gnus, um full-featured noticiarista e cliente de Static Wikipedia - Euskera (e evidências cedo para A lei de Zawinski, juntamente com RMAIL e VM)
  • VM (ou 'Vista Mail'), um full-featured Static Wikipedia - Euskera do cliente
  • MULE, extensões multilingue para Emacs, permitindo a edição de texto escrito em vários idiomas, algo análogo ao Unicode
  • Info, uma ajuda-browser on-line
  • Planner, um gerenciador de informações pessoais para o Emacs

Muitas bibliotecas de terceiros podem ser encontrados na Internet; por exemplo, há uma biblioteca chamada wikipedia-mode para edição de artigos da Wikipédia. Há até mesmo um Usenet newsgroup, gnu.emacs.sources, que é usado para postar novas bibliotecas. Algumas bibliotecas de terceiros, eventualmente, fazer o seu caminho para o Emacs, tornando-se assim uma biblioteca "standard".

Atuação

A desvantagem para projeto Lisp à base de Emacs 'é uma sobrecarga de desempenho resultante da carga e interpretar o código Lisp. Nos sistemas em que Emacs foi implementado pela primeira vez, o Emacs foi muitas vezes visivelmente mais lento do que editores de texto rivais. Vários piada backronyms aludem a esta: Oito Megabytes e constantemente Trocando (desde os dias em oito megabytes era muita memória), Emacs Faz um computador lento, Eventualmente Mallocs Todos computador de armazenamento, e, eventualmente, faz todos os computadores doente. No entanto, os computadores modernos são rápidos o suficiente para que Emacs raramente é sentida a ser lento. Na verdade, o Emacs é iniciado mais rápido do que a maioria dos processadores de texto modernos. Outros backronyms piada descrever a interface do usuário: Fuga Meta Alt Controle Shift.

Plataformas

Emacs é um dos mais programas de computador não-triviais portados. Ele roda em uma grande variedade de sistemas operacionais, incluindo a maioria dos Unix sistemas -como ( GNU / Linux , os vários BSDs, Solaris, AIX, IRIX, Mac OS X, etc.), MS-DOS, Microsoft Windows e OpenVMS. Sistemas Unix, livres e proprietários, freqüentemente fornecem junto com o Emacs sistema operacional.

Emacs é executado em ambos terminais de texto e interface gráfica do usuário ambientes (GUI). No Unix sistemas operacionais -como, Emacs usa o X Window System para produzir o seu GUI, diretamente ou utilizando um "kit de ferramentas Widget", como Motif, LessTif, ou GTK +. Emacs também pode usar os sistemas gráficos nativos do Mac OS X (usando o Carbono ou Interfaces de cacau) e Microsoft Windows . A interface gráfica fornece menubars, barras de ferramentas, barras de rolagem, e menus de contexto.

Modos de edição

Emacs adapta seu comportamento com o tipo de texto que está editando, digitando modos de edição chamados "grandes modos". Modos majoritários são definidas para arquivos de texto normais, código-fonte para muitas linguagens de programação , Documentos HTML, TeX e Documentos látex, e muitos outros tipos de texto. Cada modo majoritário é um programa de Emacs Lisp que estende o editor de se comportar de forma mais conveniente para o determinado tipo de texto que cobre. Modos principais típicos irá fornecer algumas ou todas as seguintes características comuns:

  • Destaque de sintaxe (chamado "bloqueio font" em Emacs): uso de diferentes fontes ou cores para mostrar palavras-chave, Comentários, e assim por diante.
  • Recuo automático: a manutenção formatação consistente dentro de um arquivo.
  • Recursos "elétricas", ou seja, a inserção automática de elementos, tais como espaços, novas linhas e parênteses que são exigidos pela estrutura do documento.
  • Comandos de edição especiais: por exemplo, os principais modos de linguagens de programação normalmente definem comandos para saltar para o início eo fim de uma função, enquanto os principais modos de linguagens de marcação como XML fornecer comandos para validar documentos ou inserir tags de fechamento.

Recursos adicionais podem ser adicionadas usando "modos de menores". Enquanto apenas um modo de grande está associado com um tampão de cada vez, vários modos de menores podem ser activadas em simultâneo. Estes podem afectar documentos diretamente. Por exemplo, o principal modo para a linguagem de programação C define um modo menor diferente para cada um dos populares estilos de recuo. Ou, eles podem afetar o ambiente de edição em vez disso. Por exemplo, "modo Vencedor", acrescenta a capacidade de desfazer as alterações na configuração janela, enquanto "MMM-mode", acrescenta a capacidade de usar mais de uma modalidade importante em um único arquivo, conforme exigido em casos comuns, tais como a edição de um Documento HTML com embutido CSS e JavaScript.

Autodocumentados

O primeiro Emacs incluiu uma biblioteca ajuda inovadora que pode exibir a documentação para cada comando único, variável e função interna. (Pode ter originado essa técnica). Devido a isso, o Emacs foi descrito como "auto-documentados" na medida em que apresenta a sua própria documentação, não só das suas características normais, mas também de seu estado atual, para o usuário. Por exemplo, o usuário pode obter informações sobre o comando ligado a uma combinação de teclas especial simplesmente digitando Ch k (que executa o comando describe-key ), seguido da tecla. Cada função incluída uma string de documentação, especificamente para ser usado para mostrar ao usuário a pedido. A prática de dar funções de seqüências de documentação posteriormente se espalhou para várias linguagens de programação, tais como Lisp e Java .

Além disso, através do sistema de ajuda do Emacs, os usuários podem ser tomadas para o código real para cada função - seja ele uma biblioteca ou uma biblioteca de terceiros instalado embutido.

Emacs também tem um built-in tutorial. Quando Emacs é iniciado com nenhum arquivo para editar, ele exibe instruções para executar comandos de edição simples e invocando o tutorial.

Manuais

Além da documentação built-in, Emacs tem um tempo anormalmente longo, detalhado e bem escrito manual. Uma cópia eletrônica do manual do GNU Emacs, escrito por Richard Stallman, está incluído no GNU Emacs e podem ser vistos com o built-in Informações do navegador. Dois outros manuais, o manual de Emacs Lisp Referência por Bill Lewis, Richard Stallman, e Dan Laliberte, e Programação em Emacs Lisp por Robert Chassell, também estão incluídos. Além das versões eletrônicas, todos os três manuais também estão disponíveis em forma de livro, publicado pela Free Software Foundation. Xemacs tem um manual semelhante ao manual Emacs, que bifurcada do manual GNU Emacs ao mesmo tempo que o software Xemacs.

Internacionalização

Emacs suporta a edição de texto escrito em muitas línguas humanas . Há suporte para muitos alfabetos, scripts, sistemas de escrita e convenções culturais. Emacs fornece verificação ortográfica para vários idiomas chamando programas externos, tais como ispell. Muitos sistemas de codificação, incluindo UTF-8, são suportados. Emacs 22 tem suporte total a Unicode, no entanto, ele usa a codificação específica Emacs-internamente, necessitando de conversão sobre carregar e salvar. UTF-8 vai se tornar a codificação interna Emacs-no Emacs 23.

No entanto, a interface do usuário Emacs é em Inglês, e não foi traduzido para qualquer outra língua, com excepção do tutorial para iniciantes.

Para usuários deficientes visuais e cegos, há um subsistema chamado Emacspeak que permite que o editor para ser usado apenas através de retorno de áudio.

Usando Emacs

Comandos

No modo de edição normal, o Emacs se comporta como outros editores de texto: as teclas de caracteres (a, b, c, 1, 2, 3, etc.) inserir os caracteres correspondentes, as teclas de seta mover o ponto de edição, backspace apaga texto, e assim por diante. Outros comandos são invocados com teclas digitadas modificados, pressionando o chave de controle e / ou a meta de chave / chave alt em conjunto com uma chave normal. Cada comando de edição é realmente uma chamada de uma função no ambiente de Emacs Lisp. Mesmo um comando tão simples como escrever a para inserir o caractere um envolve chamar uma função - neste caso, self-insert-command .

Como alternativa, se um usuário preferir IBM comuns do usuário chaves estilo Access, "de modo cua" pode ser usado. Este tem sido um pacote de terceiros até, e incluindo, o GNU Emacs 21, mas está incluído no GNU Emacs 22.

Note-se que os comandos save-buffer e save-buffers-kill-emacs usar várias combinações de teclas modificados. Por exemplo, Cx Cc significa: enquanto pressiona a tecla de controle, pressione x; em seguida, mantendo pressionada a tecla controle, pressione c. Esta técnica, permitindo que mais comandos para ser vinculado ao teclado do que com o uso de teclas individuais sozinho, foi popularizada por Emacs, que tem que partir TECMAC, uma das coleções de macro TECO que imediatamente precederam Emacs. Desde então, tem feito o seu caminho em editores de código modernos como Processadores Visual Studio, e é usado até mesmo em certa medida por alguns palavra consumidor, tais como Microsoft Word.

Alguns comandos do Emacs trabalho invocando um programa externo (como ispell para correção ortográfica ou gcc para a compilação do programa), analisar a saída do programa, e exibir o resultado na Emacs.

Minibuffer

O minibuffer, normalmente a linha na extremidade inferior, é onde Emacs pede informações. Texto para orientar em uma pesquisa, o nome de um arquivo para ler ou salvar e informações semelhantes está inscrita no minibuffer. Quando aplicável, linha de comando de conclusão é geralmente disponíveis usando as teclas de tabulação e de espaço.

Gerenciamento de arquivos e exibição

Emacs mantém texto em objetos chamados buffers. O utilizador pode criar novos tampões e descartar os indesejados, e vários tampões podem existir ao mesmo tempo. A maioria dos buffers contêm texto carregado a partir de arquivos de texto, que o usuário pode editar e salvar de volta para o disco. Os tampões também são utilizados para armazenar o texto temporária, tais como as cordas de documentação indicadas pela biblioteca de ajuda.

Em ambos terminal de texto e modos gráficos, Emacs é capaz de dividir a área de edição em seções separadas (referidos desde 1975 como "janelas", que pode ser confuso em sistemas que têm um outro conceito de "janelas" bem), para que mais de um tampão pode ser exibida num momento. Isto tem muitos usos. Por exemplo, uma secção pode ser usada para exibir o código de fonte de um programa, enquanto outro exibe os resultados de compilar o programa. Em ambientes gráficos, o Emacs também pode iniciar múltiplo janelas gráfica do ambiente, conhecidos como "frames", no contexto do Emacs.

Emacs Pinky

Por causa da dependência Emacs 'sobre as teclas modificadoras, em particular, como a chave de controle é pressionado com o dedo mínimo ("mindinho"), os usuários pesados Emacs ter experimentado dor em seus dedos mindinhos (veja lesão por esforço repetitivo e gordura-dedo). Este tem sido apelidado de "Emacs Pinky", e vi defensores muitas vezes citam isso como uma razão para mudar para vi. Para aliviar esta situação, muitos usuários do Emacs transpor a tecla de comando esquerda ea tecla caps-lock para a esquerda ou definir tanto como teclas de controle. Para colocar a chave de controle de volta onde estava (normalmente a tecla mais à esquerda na linha do meio de caracteres) quando combinações de teclas Emacs foram escolhidos, antes da era da PC teclados estilo da IBM. Outros usam-mode víbora, um recurso embutido no Emacs que permite o uso das chaves vi para a edição de texto básico e as teclas de Emacs para recursos mais avançados. Outros utilizam teclados especiais, tais como Teclado com contornos de Kinesis, o que reduz a tensão movendo as teclas de modificação de modo a que eles estão em posição de ser facilmente empurrado pela polegar, ou Microsoft teclado natural, que tem grandes teclas modificadoras colocados simetricamente em ambos os lados do teclado de modo que eles podem ser pressionado com a palma da mão.

Retirado de " http://en.wikipedia.org/w/index.php?title=Emacs&oldid=226196154 "