Tenho usado Lisp intermitentemente por um tempo, mas estou começando a ficar mais sério sobre fazer algum trabalho "real" em Lisp. Sou um grande fã do Vim e estava me perguntando como posso ser mais produtivo usando o Vim como meu editor para desenvolvimento Lisp. Plugins, sugestões de fluxo de trabalho, etc. são bem-vindos.
Por favor, não diga "use emacs", pois já desenvolvi o Vim e estou gostando muito dele como editor.
vim
ide
lisp
common-lisp
Drew Olson
fonte
fonte
Respostas:
Limp pretende ser um Common Lisp IDE completo para Vim. O padrão é SBCL, mas pode ser alterado para suportar a maioria das outras implementações substituindo "sbcl" por seu lisp favorito, no arquivo /usr/local/limp/latest/bin/lisp.sh
Ao discutir Lisp hoje em dia, é comumente assumido como Common Lisp, a linguagem padronizada por ANSI X3J13 (veja o HyperSpec e Practical Common Lisp para um bom livro) com implementações como GNU Clisp, SBCL, CMUCL, AllegroCL e muitos outras.
Voltar para o Limp. Existem outras soluções que são mais leves ou tentam fazer outras coisas, mas acredito em fornecer um ambiente que forneça coisas como correspondência de colchetes, realce, consulta de documentação, ou seja, tornando-a uma solução chave na mão, tanto quanto possível .
No repositório Limp você encontrará alguns dos trabalhos anteriores do projeto SlimVim, nomeadamente a interface ECL (Embeddable Common Lisp), fundida com versões posteriores (7.1); Simon também disponibilizou patches para 7.2 que ainda não foram incorporados. A interface ECL está documentada em if_ecl.txt .
O trabalho de curto prazo é fazer a referida fusão com o 7.2 e enviar um patch ao vim_dev para que seja integrado à árvore oficial do Vim.
O que nos leva aos planos de longo prazo: ter Lisp diretamente no Vim tornará conveniente começar a trabalhar em um front-end SWANK (a parte do SLIME que roda em seu Lisp, com slime.el sendo a parte que roda no editor - o frontend).
E em algum ponto intermediário, é provável que todo o Limp seja reescrito em Common Lisp usando a interface ECL, tornando o Limp mais fácil de manter (VimScript não é meu favorito) e sendo mais fácil para os usuários personalizarem.
O site oficial do Limp fica fora do ar de vez em quando, mas como apontado, o download no Vim.org deve sempre funcionar, e os grupos de suporte limp-devel e limp-user são hospedados no Google Groups. Não hesite em aderir se achar que precisa de uma resposta para uma pergunta ou talvez até mesmo se quiser participar do desenvolvimento. A maior parte da discussão ocorre na lista limp-devel. Se você gosta de IRC, estou em #limp em irc.freenode.net como 'tic'.
Boa sorte!
fonte
Você pode dar uma pequena pausa.
fonte
Aqui está um diagrama legal de Xach que resume a situação atual.
fonte
Confira o plug-in Limp:
http://www.vim.org/scripts/script.php?script_id=2219
fonte
SLIME para EMACS é uma ferramenta maravilhosa para programação LISP. A melhor parte é enviar código escrito em seu editor direto para uma sessão LISP ao vivo. Você pode obter um comportamento semelhante do Vim usando as dicas aqui:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Eu ajustei meu próprio script para enviar para uma sessão SBCL ou Clojure . Isso o torna muito mais produtivo e aproveita o REPL.
": set lisp" inicia o modo de indentação lisp para o Vim. Mas não funcionará com alguns dialetos como Clojure. Para Clojure, use VimClojure .
Algumas pessoas gostam de LIMP também.
fonte
Aqui estamos, 9 anos depois, e agora temos o Vim 8 e o Neovim, ambos fornecendo a capacidade de interagir com plug-ins de forma assíncrona.
vlime é um plug-in excelente e rico em recursos que aproveita a vantagem da nova interface assíncrona para fornecer um ambiente de desenvolvimento tipo SLIME para Common Lisp.
fonte
Fluxo de trabalho: Ion3 (ou algum outro WM lado a lado) com várias janelas de terminal.
fonte
: set lisp
O Vim tem um modo para ajudá-lo a indentar seu código pelos padrões Lisp.
Além disso, eu modifico as lispwords para mudar como o vim recua meu código.
: setl lw- = if (em ~ / .vim / ftplugin / lisp.vim)
fonte
Você pode dar uma chance ao Emacs com a emulação do Vim, não é perfeito, mas pode ser um pouco familiar. Eu acho que Lisp brilha se você usar algo como Slime ou DrScheme fazendo desenvolvimento iterativo, todos os outros editores se sentirão errados.
fonte
Eu sei que você disse para não dizer para usar o Emacs.
Use o Emacs.
Sério, a configuração do SLIME para Emacs é praticamente a plataforma de desenvolvimento padrão para Lisp, e por um bom motivo.
fonte
Parece ter havido tentativas de ter uma integração do Lisp no Vim do tipo SLIME, mas nenhuma foi tão longe quanto o necessário para ser realmente útil. Eu acho que a integração da ECL foi feita, mas não comprometida com o upstream.
Você deve encontrar todos os links relevantes na página de Cliki sobre o Vim .
fonte