O Emacs (Cacau Emacs) vs Aquamacs para a execução de Clojure no Mac OS X
Pergunta
Eu usei Aquamacs até agora, e eu preciso para instalar e executar o Clojure usando SLIME.Eu pesquisei para obter alguma forma de usar o Clojure no LODO de Aquamacs, mas sem sucesso.
Perguntas
- É possível instalar o Clojure em Aquamacs?Ou, você pode adivinhar qual Clojure em Aquamacs não funciona?
- É normal que o Emacs e o Aquamacs não podem compartilhar o mesmo ELPA?
- É possível usar ELPA para instalar Conjurar no Emacs/Aquamacs?
- Foi-me dito que um pode usar "lein swank' para ser executado como um servidor, você sabe como fazer isso?
Sequências que eu tentei (e metade conseguiu)
Eu tentei com o Mac OS X Emacs, e seguindo os passos que eu poderia fazê-lo funcionar.Quero dizer, eu poderia correr Clojure com LODO.
O Emacs para Mac OS X
Passo 1) Instalar ESK.
- Git clone e copie todos os arquivos para o
.emacs.d
diretório - Adicione o seguinte código para
.emacs
e relançamento
(when (load (expand-file-name "~/.emacs.d/package.el")) (package-initialize))
Passo 2) Instalar usando ELPA
- M-x pacote de lista de pacotes para selecionar pacotes
- Instalar
- clojure-mode, clojure-modo de teste
- lodo, limo-repl
- swank-clojure
- M-x lodo para instalar o clojure
- Adicione o seguinte código para
.emacs
e relançamento
;; clojure mode (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1") (require 'clojure-mode-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4") (require 'clojure-test-mode-autoloads) ;; slime ;(setq inferior-lisp-program "/Users/smcho/bin/clojure") (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-20100404") (require 'slime-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-repl-20100404") (require 'slime-repl-autoloads) ;; swank-clojure (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0") (require 'slime-repl-autoloads)
Aquamacs
Agora eu poderia usar Clojure no Emacs, eu tentei o mesmo(ou muito semelhante) método para executar o Clojure em Aquamacs mais uma vez.
Passo 1) Instalar ESK para o Aquamacs
- Copie os arquivos ~/Biblioteca/Preferências/Aquamacs Emacs
- Modificar O "~/Library/Preferences/Aquamacs Emacs/Preferências.el" para adicionar o seguinte
(setq kitfiles-dir (concat (file-name-directory (or (buffer-file-name) load-file-name)) "/aquamacs-emacs-starter-kit")) ; set up our various directories to load (add-to-list 'load-path kitfiles-dir) (require 'init)
Passo 2) * Siga o mesmo passo antes de instalar tudo (mesmo) dos pacotes, mas "M-x lodo" dá-me a seguinte mensagem de erro."O símbolo da definição da função é nula:define-lodo-contrib"
ELPA
Eu tentei combinar os pacotes de Emacs e o Aquamacs, mas eles não combinam.Eu pensei que eu poderia usar o ELPA em si, não a partir do ESK para torná-lo compartilhado.
O resultado não foi bom, como ELPA não conseguia baixar o swank-conjurar pacote.
O sucesso de Execução Aquamacs/Clojure com "lein swank'.
Por favor, consulte este.
Solução
Aquamacs definitivamente funciona com Clojure, desde que o autor do Clojure usa-lo.No entanto, eu uso Emacs, e depois de realizar os passos acima no Emacs seção, eu recomendo verificar labrepl,
http://github.com/relevance/labrepl
Se você não tem leiningen, o link para obter e instalá-lo nas instruções do labrepl arquivo leiame.Eu achei extremamente útil quando a aprender como configurar um ambiente para o Clojure de programação.Você pode desmontar o project.clj
arquivo em labrepl e peça juntos como ele funciona muito facilmente.Para não mencionar as lições e treinamento em construído em um aplicativo da web que vem com labrepl.
Se você quiser usar lein swank em vez disso:
Certifique-se de que você tem leiningen instalado.Em seu projeto.clj dev dependências de você querer ter uma entrada como esta:
[leiningen/lein-swank "1.1.0"]
http://clojars.org/leiningen/lein-swank
Em seguida, depois de ter feito lein deps
você deve ser capaz de executar lein swank
e, em seguida, a partir de dentro do Emacs executa M-x slime-connect
e apenas pressione enter através de padrões.
Se você estiver indo para ir por esse caminho, aqui está o link direto para leiningen então você pode pular o labrepl repositório: http://github.com/technomancy/leiningen
Outras dicas
Eu encontrei este a configuração mais fácil para a mais recente versão de tudo.Aqui está um rápido resumo de onde eu"m supondo que você tenha leiningen instalado.
Instalar o swank-clojure plugin
$ lein plugin install swank-clojure 1.3.2
Crie o seu clojure projeto
$ lein new test-project
$ cd test-project
$ lein deps
Em seguida, abra um dos clojure arquivos do seu projeto no emacs e executar clojure-jack-in
M-x clojure-jack-in
Você está agora em um lodo de buffer com clojure e as dependências para o projeto carregado.
Paul Barry dá uma aula de como usar o Aquamacs e Clojure.
É simples, como você pode adicionar este código ao .emacs
arquivo
(add-to-list 'load-path "~/clojure/clojure-mode") (setq inferior-lisp-program "/Users/smcho/bin/clj") (require 'clojure-mode) (setq auto-mode-alist (cons '("\\.clj\\'" . clojure-mode) auto-mode-alist)) (add-hook 'clojure-mode-hook (lambda () (define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)))
Eu poderia passar 'M-x clojure-mode', e C-c C-z para REPL.
E como é feita e respondida em Executando o Clojure e outros Lisp, ao mesmo tempo em Emacs, Eu poderia usar tanto Clojure/Lisp em Aquamacs.