Использование Vim для разработки Lisp



Я использую Lisp и выключается на некоторое время, но я начинаю становиться более серьезным о выполнении некоторых "реальных" работ в Lisp. Я большой поклонник Vim и задавался вопросом, как я могу быть наиболее продуктивным, используя Vim в качестве моего редактора для разработки Lisp. Плагины, рабочий поток предложений и т. д. всем добро пожаловать.



пожалуйста, не говорите "использовать emacs", поскольку я уже поднялся на Vim, и мне действительно нравится это как редактор.

883   11  

11 ответов:

Limp стремится быть полнофункциональным Common Lisp IDE для Vim. Он по умолчанию имеет значение SBCL, но может быть изменен для поддержки большинства других реализаций, заменив "sbcl" для вашего любимого lisp, в файле /usr/local/limp/latest/bin/lisp.sh

при обсуждении Lisp в эти дни обычно предполагается, что это общий Lisp, язык, стандартизированный ANSI X3J13 (см. в HyperSpec и Практический Common Lisp для хорошего учебника) с реализациями, такими как GNU Clisp, SBCL, CMUCL, AllegroCL и многие другие.

назад к хромоте. Есть и другие решения, которые являются более легкими или пытаются делать другие вещи, но я верю в предоставление среды, которая дает вам такие вещи, как сопоставление скобок, выделение, поиск документации, т. е. делает его решением под ключ как можно больше.

на Хромой репозиторий вы найдете некоторые из предыдущих работ проекта SlimVim, а именно ECL (Embeddable Common Lisp) интерфейс, объединенный с более поздними выпусками (7.1); Simon также сделал патчи к 7.2 доступными, но еще не объединенными. Интерфейс ECL задокументирован в if_ecl.txt.

краткосрочная работа заключается в том, чтобы сделать указанное слияние с 7.2 и отправить патч в vim_dev, чтобы он был объединен в официальное дерево Vim.

что приводит нас к долгосрочным планам: имея Lisp непосредственно в Vim, будет удобно начать работать на шикарном интерфейсе (часть слизи, которая работает твоя шепелявость, со слизью.el - это часть, которая работает в Редакторе-интерфейсе).

и где-то посередине, вполне вероятно, что все Limp будут переписаны в Common Lisp с помощью интерфейса ECL, что делает Limp проще в обслуживании (VimScript не мой любимый) и проще для пользователей настроить.

The официальный сайт Limp время от времени опускается, но, как было указано, скачать по адресу Vim.org должно всегда работать, и поддержка группы limp-devel и limp-user размещаются в группах Google. Не стесняйтесь присоединиться, если вы чувствуете, что вам нужен ответ на вопрос, или, возможно, даже хотите присоединиться к разработке. Большая часть обсуждения происходит в списке limp-devel. Если вы в IRC, я в # limp on irc.freenode.net как "тик".

удачи!

вы можете slimv перерыв.

вот классная диаграмма от Xach, которая подводит итог текущей ситуации.

diagram explaining that there are nearly no VIM users that are also Lisp programmers and can also hack it to make it a good Lisp IDE... lousy alt text :)

SLIME for EMACS-это замечательный инструмент для программирования на Лиспе. Лучшая часть-это отправка кода, написанного в вашем редакторе, прямо в сеанс Live LISP. Вы можете получить подобное поведение из Vim, используя советы здесь:

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

Я настроил свой собственный скрипт так, что я могу отправить либо a SBCL или Clojure сессии. Это делает вас гораздо более продуктивным и использует преимущества из РЕПЛ.

": set lisp " запускает режим отступа lisp для Vim. Но это не будет работать с некоторыми диалектами, как Clojure. Для Clojure, используйте VimClojure.

некоторые люди, как лимп также.

Проверьте вялый плагин:

http://www.vim.org/scripts/script.php?script_id=2219

: set lisp

Vim имеет режим, который поможет вам отступить ваш код по стандартам Lisp.

кроме того, я изменяю lispwords, чтобы изменить, как vim отступает мой код.

: setl lw - =if (in~/.vim / ftplugin / lisp.vim)

  • дополнения Vim: радужные скобки, синтаксис Lisp
  • SBCL дополнения: rlwrap, sb-aclrepl
  • рабочий процесс: Ion3 (или некоторые другие плиточные WM) с несколькими окнами терминала.

    • редактировать Lisp в Vim
    • переключиться в окно Lisp (с помощью клавиатуры, конечно)
    • используйте C-r, чтобы вызвать строку для перезагрузки системы ASDF, о которой идет речь, чтобы ваши изменения стали активными.
    • используйте X Window copy / paste для небольших фрагменты/изменения.
    • используйте описывать, трассировать и по поводу сильно.
    • повторить.

вы можете дать Emacs с эмуляцией Vim попробовать, не идеально, но это может быть несколько знакомо. Я думаю, что Lisp сияет, если вы используете что-то вроде Slime или DrScheme, делая итеративную разработку, все остальные Редакторы чувствуют себя просто неправильно.

Я знаю, что вы сказали не говорить вам использовать Emacs.

Использую Emacs.

серьезные муть настройка для Emacs в значительной степени the стандартная платформа разработки для Lisp, и по очень веской причине.

кажется, были попытки иметь СЛИЗЕПОДОБНУЮ интеграцию Lisp в Vim, но ни один из них не зашел так далеко, как это необходимо, чтобы быть действительно полезным. Я думаю, что интеграция ECL была сделана, хотя и не совершена вверх по течению.

вы должны найти все соответствующие ссылки из страница клики о компании Vim.

вот мы 9 лет спустя, и теперь у нас есть Vim 8 и Neovim, оба обеспечивают возможность асинхронного взаимодействия с плагинами.

vlime это отличный, многофункциональный плагин, который использует преимущества нового асинхронного интерфейса, чтобы обеспечить СЛИЗЕПОДОБНУЮ среду разработки для Common Lisp.

Comments

    Ничего не найдено.