Para iniciantes: Obtenha Emacs com Clojure instalado e funcionando!

Objetivo

Depois de ler este artigo, você terá uma configuração Emacs ativa e pronta para todas as suas necessidades de Clojure! Vou guiá-lo através dos fundamentos mais importantes, fornecer alguns links para mergulhar mais fundo no Emacs e, em seguida, mostrar como instalar e usar todas as coisas incríveis do Clojure disponíveis!

Pré-requisitos

Existem basicamente apenas dois softwares que você precisa para obter manualmente: Leiningen e Emacs . E, claro, um JVM .
Presumo que você tenha uma versão do Java em execução; Basta uma JVM, você não precisa de um JDK.

Leiningen

Você pode obter o Leiningen em Leiningen.org . A instalação é direta, no Linux e em outros sistemas semelhantes ao UNIX apenas coloque o script de shell em ~ / bin, no Windows coloque-o em algum lugar de sua preferência (provavelmente ~ / bin também) e adicione esse diretório ao seu PATH.

Usando Leiningen

Abra uma linha de comando (tecla do Windows -> cmd -> retorno) e digite lein para usar o Leiningen.

Emacs

Mais uma vez, é mais fácil no Linux;) Apenas instale alguns Emacs 24 e certifique-se de que não seja 24.2, pois essa versão tem um bug de quebra para o desenvolvimento do Clojure.
Para Windows, você pode baixar a versão mais recente do Emacs em gnu.org/s/emacs com um clique em “Obter Emacs”. Extraia onde quiser.

Introdução ao Emacs

Coisas básicas

Abra o Emacs.
Ufa. Isso não foi nem tão assustador, foi? Não se preocupe, não vou deixá-lo parado aqui …
Na verdade, é muito simples usar o Emacs assim que você entender alguns conceitos básicos.

Em tutoriais, você costuma ver atalhos semelhantes e semelhantes. C representa a tecla de controle, M representa a tecla meta (rotulada no teclado) e S, se for o caso, shift.C-c M-nalt

Para as coisas mais básicas, há um tutorial interativo de 10 minutos que você pode iniciar usando . Realmente cumpre bem o seu papel, por isso, nessa pequena sequência, vou deixá-lo em paz.C-h t

…feito? Ótimo! Vamos pular para os conceitos do Emacs que são importantes para você.

  • Você pode usar para obter ajuda ou ir para http://www.emacswiki.org/C-h ?
  • Se quiser alterar as configurações de um modo, você pode fazer isso usando M-xcustomize-group
  • Você pode alterar o tema e a fonte usando e respectivamente. Você provavelmente deseja substituir a fonte padrão por algo como o “Código-fonte Pro” da Adobe e eu realmente gosto do “tema solarizado” que você pode instalar mais tarde usando pacotes.M-xcustomize-themeM-xcustomize-face default
  • Divida as janelas usando atalhos: ** divide a janela em duas janelas alinhadas verticalmente ** faz o mesmo horizontalmente ** torna a atual a única ** fecha a atual ** Redimensione-as usando o mouse.C-x 2C-x 3C-x 1C-x 0

Instalando os pacotes

Felizmente o Emacs tem um gerenciador de pacotes começando com a versão 24, então isso fica muito mais fácil para nós.
Primeiro, temos que adicionar uma fonte de pacote adicional.

Use . Lembre-se de que você pode simplesmente pressionar para preenchimento automático.M-x customize-group packageTAB

Clique na pequena seta ao lado de “Arquivos do pacote” para mostrar as opções, clique INSe adicione um arquivo ‘marmelada’ com o URL http://marmalade-repo.org/packages/ .
Clique (ou simplesmente use ) para armazenar as configurações e eliminar o buffer com .Apply and SaveC-x C-sC-x C-k <return>

Agora vamos ver o que está disponível! Lembre-se de que você pode usar para pesquisar.C-s

  • M-x package-list-packages

Você pode marcar um pacote para instalá-lo usando iou pode clicar nele e escolher install. Use xpara instalar pacotes marcados, dpara marcar para remoção. <br/>
Você precisará do seguinte para tornar o próprio Emacs um ambiente mais amigável:

  • idomenu
  • smex
  • sml-modeline
  • ido-onipresente
  • bonito-modo-mais

E o seguinte para Clojure:

  • autocompletar
  • ac-nrepl
  • modo de indentação automática
  • clj-refactor
  • cljdoc
  • modo clojure (quem teria pensado ISSO?)
  • nrepl
  • pareditar
  • delimitadores de arco-íris

Se quiser, você também pode instalar o “yasnippet” para obter trechos, mas ele não tem nenhum trecho do Clojure predefinido e é um PITA para configurar. Não vou cobrir isso neste tutorial.

Configurando Emacs

C-x C-f ~/.emacs<br/>
Bem-vindo ao mundo da elisp! Depois que você sobreviveu ao choque, vamos começar! <br/>
Ok, primeiro, coloque isso no final do arquivo:

(defun my-init ()
;; Your code will go here
)
(add-to-list 'after-init-hook 'my-init)

Explicação: Os pacotes instalados são carregados depois que este arquivo é analisado, portanto, para configurar esses pacotes, temos que garantir que nosso código também carregue depois.
Agora você pode fazer referência a esta essência que fiz e copiar o que você gosta (provavelmente tudo; considero as coisas nesta essência bastante mínimas) no local que escrevi .;; Your code will go here

Minha configuração foi bastante testada em campo; Avise-me se encontrar atalhos ainda melhores.

Uso

Bem, daqui em diante tudo é bastante direto e automático; Aqui estão algumas dicas:

  • M-x eshell abre um shell emacs.
  • C-x b permite que você alterne o conteúdo de uma janela, você provavelmente precisará dele ao abrir um nREPL.
  • Acostume-se a usar o incrível nREPL usando este documento .
  • Paredit também é ótimo. C-<leftarrow>e C-<rightarrow>são provavelmente as funções mais úteis; veja esta folha de referências para todas as funções disponíveis. Você não precisa usar todos eles, mas experimente um pouco. Você vai amar!
  • Se você quiser alguma coisa séria de depuração (para a qual eu não achei nenhum uso ainda), procure por ritz-nrepl.