Я время от времени использую Lisp, но я начинаю более серьезно относиться к выполнению "настоящей" работы с Lisp. Я большой поклонник Vim, и мне было интересно, как я могу быть наиболее продуктивным, используя Vim в качестве редактора для разработки Lisp. Плагины, предложения по рабочему процессу и т. Д. Приветствуются.
Пожалуйста, не говорите «используйте emacs», так как я уже использовал Vim и мне это очень нравится как редактор.
vim
ide
lisp
common-lisp
Дрю Олсон
источник
источник
Ответы:
Limp стремится стать полнофункциональной средой разработки Common Lisp для Vim. По умолчанию используется SBCL, но его можно изменить для поддержки большинства других реализаций, заменив «sbcl» на ваш любимый lisp в файле /usr/local/limp/latest/bin/lisp.sh
При обсуждении Lisp в наши дни обычно предполагается, что это Common Lisp, язык, стандартизованный ANSI X3J13 (см. HyperSpec и Practical Common Lisp для хорошего учебника) с такими реализациями, как GNU Clisp, SBCL, CMUCL, AllegroCL и многие другие. другие.
Вернуться к хромоте. Существуют и другие решения, которые более легкие или пытаются делать другие вещи, но я верю в создание среды, которая дает вам такие вещи, как сопоставление скобок, выделение, поиск документации, т. Е. Как можно более готовое решение. .
В репозитории Limp вы найдете некоторые из предыдущих работ проекта SlimVim, а именно интерфейс ECL (Embeddable Common Lisp), объединенный с более поздними версиями (7.1); Саймон также сделал патчи для 7.2, которые еще предстоит объединить. Интерфейс ECL задокументирован в if_ecl.txt .
Краткосрочная работа заключается в том, чтобы выполнить указанное слияние с 7.2 и отправить патч на vim_dev, чтобы он слился с официальным деревом Vim.
Это подводит нас к долгосрочным планам: наличие Lisp непосредственно в Vim позволит удобно начать работу над интерфейсом SWANK (той частью SLIME, которая работает в вашем Lisp, а slime.el является частью, которая запускается в вашем Lisp). редактор - фронтенд).
И где-то посередине, вполне вероятно, что весь Limp будет переписан на Common Lisp с использованием интерфейса ECL, что упростит поддержку Limp (VimScript не мой любимый) и будет проще для пользователей в настройке.
Официальный сайт Limp снижается время от времени, но , как указывалось, загрузить в Vim.org должны всегда работать, и группы поддержки хромота-Devel и хромал-пользователей размещаются с Google Groups. Не стесняйтесь присоединяться, если вы чувствуете, что вам нужен ответ на вопрос или, возможно, даже хотите участвовать в разработке. Большая часть обсуждений происходит в списке limp-devel. Если вы работаете в IRC, я на irc.freenode.net указал #limp как «тик».
Удачи!
источник
Вы могли бы дать Slimv передышку.
источник
Вот классная диаграмма от Xach, которая суммирует текущую ситуацию.
источник
Ознакомьтесь с плагином Limp:
http://www.vim.org/scripts/script.php?script_id=2219
источник
SLIME для EMACS - замечательный инструмент для программирования LISP. Лучшая часть - это отправка кода, написанного в вашем редакторе, прямо в живую сессию LISP. Вы можете добиться аналогичного поведения из Vim, используя советы здесь:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Я скорректировал свой собственный скрипт, чтобы можно было отправлять его в сеанс SBCL или Clojure . Это делает вас намного более продуктивным и использует REPL.
": set lisp" запускает режим отступов lisp для Vim. Но это не будет работать с некоторыми диалектами, такими как Clojure. Для Clojure используйте VimClojure .
Некоторым людям нравится LIMP .
источник
Вот и прошло 9 лет, и теперь у нас есть Vim 8 и Neovim, которые предоставляют возможность асинхронного взаимодействия с плагинами.
vlime - отличный многофункциональный плагин, который использует преимущества нового асинхронного интерфейса для обеспечения SLIME-подобной среды разработки для Common Lisp.
источник
Рабочий процесс: Ion3 (или какой-нибудь другой плиточный WM) с несколькими окнами терминала.
источник
: set lisp
В Vim есть режим, который поможет вам сделать отступ в коде по стандартам Lisp.
Кроме того, я изменяю lispwords, чтобы изменить отступы в моем коде vim.
: setl lw- = if (в ~ / .vim / ftplugin / lisp.vim)
источник
Вы можете попробовать Emacs с эмуляцией Vim, это не идеально, но может показаться знакомым. Я думаю, что Lisp великолепен, если вы используете что-то вроде Slime или DrScheme, выполняя итеративную разработку, все остальные редакторы чувствуют себя неправильно.
источник
Я знаю, что вы сказали не говорить вам использовать Emacs.
Используйте Emacs.
Серьезно, установка SLIME для Emacs в значительной степени является стандартной платформой разработки для Lisp, и на это есть очень веские причины.
источник
Похоже, были попытки реализовать SLIME-подобную интеграцию Lisp в Vim, но ни одна из них не зашла настолько далеко, чтобы быть действительно полезной. Я думаю, что интеграция ECL была осуществлена, но еще не реализована.
Вы должны найти все соответствующие ссылки на странице Cliki о Vim .
источник