Qual é a diferença entre o Aquamacs e outras versões para Mac do Emacs?


99

Usuários de Macintosh têm várias opções de Emacs pré-construídos. Estou ciente das seguintes versões:

Algumas perguntas que eu tinha em mente:

  1. Essas versões diferem de alguma maneira significativa?
  2. Pode-se obter a funcionalidade dos outros simplesmente modificando o arquivo de inicialização?
  3. Essas mudanças retornam à montante?

Estou ciente de que o Aquamacs é considerado "pouco ortodoxo", pois possui teclas muito semelhantes às do Mac, mas também estou interessado em entender as diferenças entre as versões que não são do Aquamacs.


Ponto de dados: Eu apenas tentei um monte desses emacsen e me acomodei no garfo de Yamamoto Mitsuharu. Eu uso o Aquamacs há anos, mas ele está travando com frequência (algo a ver com quadros / guias) e não aguentava mais. Parece que os Aquamacs costumavam fazer muitas coisas que ninguém mais fazia, mas esse não é mais o caso. O garfo Yamamoto parece a escolha superior para o Mac no momento.
Scott Fraize

Eu costumo usar Aquamacs, decidi preparar desta vez. Um pequeno detalhe: para obter a tecla #, defina o tipo de entrada australiano!
Dave Hodgkinson

Respostas:


126

Emacs para Mac OS X

O Emacs para Mac OS X fornece binários para OS X do GNU Emacs apropriados. É mais ou menos o mesmo que você compilaria com um tarball de lançamento do GNU Emacs ./configure --with-ns. O site fornece compilações de versões e pré-testes estáveis, bem como instantâneos noturnos. Todas essas construções são independentes, o que permite tentar com segurança pré-testes e instantâneos.

Observe, porém, que esses binários não têm suporte para algumas bibliotecas, principalmente o GNU TLS e o ImageMagick. Se você quiser usá-los - o primeiro é particularmente importante se você quiser ler seus e-mails no Emacs - você precisará obter o GNU Emacs do Homebrew.

Emacs para OS X Modificado

De acordo com o site, o Emacs para OS X Modified é simplesmente uma compilação padrão do GNU Emacs, com base no exposto, com alguns pacotes adicionais e a configuração necessária para ativar todos esses pacotes.

Com a exceção notável do ESS, todos esses pacotes estão disponíveis nos arquivos de pacotes do Emacs para instalação em qualquer Emacs. Por exemplo, você pode instalar o AUCTeX no GNU Emacs de forma adequada, simplesmente digitando M-x package-install RET auctexe ativando-o.

A escolha dos pacotes sugere que ele é voltado principalmente para estatísticos e pesquisas, que trabalhariam com seus dados com R e ESS e publicariam um artigo com Org ou AUCTeX e LaTeX.

Para outros usuários, essa distribuição é provavelmente de pouco valor, pois você precisará instalar pacotes adicionais de qualquer maneira e pode usar o GNU Emacs imediatamente.

Esta é a única distribuição que você pode criar no GNU Emacs apropriadamente instalando pacotes Emacs adicionais e ajustando o seu de init.elacordo. As outras distribuições são variantes corrigidas e bifurcadas do GNU Emacs.

Emacs Mac Port

O Emacs Mac Port é um conjunto de patches adequado para o GNU Emacs, para uma melhor integração do OS X. Observe que o próprio GNU Emacs também possui suporte nativo ao OS X, mas não possui as adições específicas do OS X, fornecidas por este conjunto de patches. Notavelmente:

  • Texto principal para renderização de texto, o que melhora a aparência do texto e o suporte a Unicode. Isso foi incorporado ao GNU Emacs propriamente dito e faz parte do Emacs 24.4.
  • Rolagem suave. O GNU Emacs rola adequadamente em linhas, o que é muito lento e instável com os trackpads. O Emacs Mac Port usa rolagem baseada em pixel como outros aplicativos OS X nativos, que são muito mais suaves e mais precisos. Porém, ela afeta apenas a rolagem do trackpad; portanto, se você não usar o mouse, não precisará dele.
  • Gestos. Você pode beliscar para aumentar / diminuir o tamanho do texto. Novamente, se você não usar o mouse, não notará, e é sem dúvida apenas um recurso sofisticado.
  • Suporte para eventos da Apple. Você pode enviar e receber eventos da Apple no Emacs Lisp.
  • Serviço de dicionário. Tocar com três dedos pesquisará a palavra sob o cursor no aplicativo Dicionário da Apple, como em outros aplicativos OS X.
  • Integração de serviços. Você pode abrir um arquivo selecionado no Finder no menu de contexto do Emacs em execução.
  • Exibição SVG nativa usando Webkit, em vez de librsvg. O Webkit tem melhor suporte a SVG, mas quem vê os SVGs no Emacs?

Você notará que a maioria desses recursos se preocupa apenas com a integração ao OS X e não é essencial para o uso do Emacs. Fora isso, o Emacs Mac Port é praticamente um GNU Emacs padrão.

Alguns de seus recursos retornam ao GNU Emacs, mas outros nunca serão mesclados, uma vez que são exclusivos do OS X e não estão disponíveis na alternativa gratuita GNUStep, que contraria a política da FSF de não oferecer suporte a sistemas operacionais proprietários sobre suas alternativas gratuitas. Além disso, se bem me lembro, o autor deste conjunto de patches mostrou pouco interesse em trazer os recursos de volta, provavelmente pelo motivo anterior.

Aquamacs

O Aquamacs é um fork do GNU Emacs com muitos patches . Ao contrário de tudo isso, não é baseado no GNU Emacs, mas possui uma árvore de fontes independente. No entanto, é regularmente sincronizado com o Emacs upstream e segue de perto os lançamentos do Emacs. Porém, inevitavelmente fica atrás do tronco do GNU Emacs.

É fortemente modificado para parecer com um aplicativo OS X nativo. Notavelmente, ele suporta e incentiva ligações de teclas padrão do OS X, por exemplo, Cmd+Spara salvar. No entanto, as ligações padrão do Emacs ainda estão disponíveis.

Como é um fork, fortemente modificado e com objetivos e princípios completamente diferentes, nenhum de seus recursos será mesclado ao GNU Emacs: A maioria dessas modificações vai diretamente contra o “espírito”, idéias e filosofia do GNU Emacs.

TL; DR (ou: o que devo escolher)

  • Se você é um estatístico ou pesquisador e não deseja configurar o Emacs: Emacs para OS X modificado
  • Se você deseja um aplicativo OS X nativo mais do que tudo: Aquamacs
  • Se você deseja o Emacs, mas com o melhor suporte possível para o OS X: Emacs Mac Port
  • Se você quer apenas o Emacs sem complicações: Emacs para Mac OS X

Meu conselho pessoal

Nunca experimentei o Emacs para OS X Modified ou Aquamacs, mas vejo pouco uso no primeiro (não sou estatístico e posso instalar o AUCTeX sozinho). Eu também recomendaria contra o último: é uma bifurcação e, embora ofereça a melhor integração do OS X, inevitavelmente fica para trás e recebe menos suporte da comunidade do Emacs em geral. Muitos pacotes não suportam o Aquamacs; portanto, se houver problemas, há uma boa chance de você ser deixado sozinho como usuário do Aquamacs.

Tentei o Emacs Mac Port e, embora rolagem suave, gestos e eventos da Apple sejam bons, descobri que esses pequenos benefícios não valem o trabalho de manter uma versão corrigida do GNU Emacs. YMMV, obviamente, e se você se preocupa com um bom suporte ao OS X, e se esses recursos lhe interessam, você definitivamente deve experimentá-lo.

Atualmente, eu uso apenas compilações de instantâneos do GNU Emacs. Eles têm um suporte razoavelmente bom para o OS X e são de longe os mais fáceis de instalar e os mais suportados pela comunidade.

Eu costumava obtê-los do Emacs para Mac OS X, mas agora uso o Homebrew, porque ele suporta mais bibliotecas, principalmente o GNU TLS para conexões de rede criptografadas.

Em suma: Use brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).


8
Bem - usar a porta mac também não é tão difícil. De github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacporte entãobrew install emacs-mac
Rainer

3
A "porta Mac" definitivamente não foi o primeiro Emacs com suporte nativo à OSX GUI. Em vez disso, nasceu exatamente na época em que o Emacs mudou do antigo código "Carbon Emacs" para o novo código "Emacs.app" (essa mudança foi feita em parte porque o Carbon estava presumivelmente sendo preterido pela Apple, em parte porque ninguém queria manter esse código e, em parte porque o código "Emacs.app" veio com a possibilidade de oferecer suporte ao GNUstep. Até hoje, o suporte ao GNUstep é basicamente inutilizável (embora seja usado ocasionalmente para rastrear e corrigir erros no código OSX enquanto você usa um sistema GNU / Linux) )).
Stefan

6
Excelente redação. Alguns usuários do OSX podem estar interessados ​​em saber que o Aquamacs possui suporte interno para o verificador ortográfico nativo do OSX, que inclui a lista de palavras salvas que o usuário adicionou anteriormente ao dicionário. Na minha opinião, esse é o único recurso principal do Aquamacs que não pode ser duplicado em outras versões do Emacs sem modificar o código-fonte antes da compilação. No entanto, prefiro usar o mouse e evitar o uso do mouse - portanto, o verificador ortográfico OSX (embora muito bacana) não é um motivo para eu mudar para o Aquamacs.
lawlist

1
Isenção de responsabilidade: uso o Linux e não tenho certeza sobre o OSX, mas escrevo e-mails no Emacs e não preciso de TLS; Eu (ou melhor mu4e) peço o msmtpenvio e mbsynca recuperação de meus e-mails.
mbork 29/10

1
Nit pequeno: compilar a partir da fonte requer ./configure --with-ns, não --enable-ns.
Harald Hanche-Olsen

22

Algumas correções factuais sobre os aquamacs. Embora ele mantenha sua própria árvore de fontes, ele é mesclado muito regularmente com o Emacs, e quase imediatamente com cada versão do Emacs. O Aquamacs 3.1 saiu no dia em que o Emacs 24.4 foi lançado (e incorporou todos os recursos do Emacs 24.4 e um subconjunto de seus bugs). O Aquamacs tem> 10k usuários regulares, é suportado ativamente.

O Emacs Mac Port se originou muito mais tarde que o porto Cocoa e Nextstep no Emacs; é considerado experimental e o autor original desaconselha a redistribuição fora de seu conjunto de patches. Como tal, o suporte será muito mais limitado do que em qualquer outra solução. É uma linha interessante de desenvolvimento, no entanto, que eventualmente fornecerá muito valor à comunidade, se adotada pelos desenvolvedores. Os usuários devem se considerar "testadores beta" e contribuir com o que podem com bons relatórios de bugs e patches.

O valor do Aquamacs está na sua filosofia "pronta para rolar": a integração com LaTeX, EmacsSpeaksStatistics e Mac funciona imediatamente. Nenhuma configuração complexa é necessária.


O Emacs é lançado apenas com pouca frequência; portanto, se o Aquamacs se mesclar somente após os lançamentos, isso não é frequente. Atualizei minha resposta para remover essa parte. Além disso, enquanto o próprio Aquamacs é mantido e apoiado ativamente, o apoio da comunidade é bastante escasso. Poucos pacotes de terceiros oferecem suporte explícito ao Aquamacs. De fato, muitos pacotes suportam explicitamente apenas o GNU Emacs, e não nenhum garfo ou derivado, incluindo XEmacs ou Aquamacs.
lunaryorn

Você tem uma fonte para o conselho dos autores da porta do Mac para não redistribuir partes fora do conjunto de patches?
Lunardorn 29/10

@ Lunaryorn: Eu acredito que isso era verdade na época, mas não é mais. Na minha edição, removi esse comentário.
precisa saber é o seguinte

11

Eu tentei todas as opções acima (mesmo a torneira recomendada por Reiner em um comentário acima) por nenhuma delas funcionou bem para mim (problemas de rolagem do trackpad, cortinas, etc.). Estou muito feliz, no entanto, com a bifurcação de Yamamoto Mitsuharu, mantida pela página github da ferrovia. Está atualizado com relação à versão oficial do GNU. Basta baixar a .dmgimagem aqui: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads


8
Quando tiver tempo livre, expanda sua resposta e defina as diferenças entre essa compilação específica e a compacta de baunilha. Dessa forma, sua resposta se tornará mais do que apenas um comentário e o leitor não precisará sair dessa resposta e ver páginas como: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
lawlist

0

Eu estava usando a versão Aquamacs até recentemente. A principal razão pela qual eu preferia a versão Auquamacs enquanto a usava no Mac era que eu pude usar o Dragon Dictate com o emacs com as configurações padrão. Quando eu estava configurando minha instalação, tive problemas com o ditado na versão regular do emacs. Fora isso e as combinações de teclas padrão, não havia muita diferença com a qual eu interagia. Minhas configurações seriam carregadas da mesma maneira. Com as combinações de teclas É conveniente que a área de transferência copie, recorte, cole e desfaça usando os cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z apenas por hábito no mac e que eu foi capaz de fazê-lo automaticamente com uma mão no teclado mac, mas você pode configurá-los no emacs regular para o que quiser, auquamacs não são necessários para muitas dessas configurações de mac.

No entanto, a última vez que verifiquei o emacs em Auquamacs não estava atualizado há um ano e parecia estar atrasado. Eu também estava recebendo alguns avisos de certificado expirados. Eu não tinha certeza se ainda estava sendo mantido. Parece que não foi atualizado no site. Consegui instalar a versão regular do Emacs para Mac com homebrew e atualizar meu arquivo init para as configurações do mac que permitiam que o ditado funcionasse.

Mas eu tenho usado o linuxmint recentemente e acho que vou continuar com isso. Meu sistema é muito mais silencioso, rápido e suave com o Linux e é fácil personalizar a aparência da área de trabalho. Houve algumas pequenas alterações que fiz no arquivo init do emacs na versão Linux, mas é praticamente o mesmo. Não consegui encontrar uma boa solução para o ditado no Linux. Não sei se minha máquina pode suportar a execução de outro sistema operacional em uma máquina virtual apenas para o software de ditado. O software de ditado também é um recurso pesado, mas isso é outra questão. Seria bom se o Dragon lançasse uma versão do Dictate no Linux.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.