Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

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

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

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

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

Удачи вам!

Другие советы

Вы могли бы дать 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 для EMACS - замечательный инструмент для программирования на ЛИСПЕ.Самое приятное - это отправка кода, написанного в вашем редакторе, прямо в живой сеанс LISP.Вы можете добиться аналогичного поведения от Vim, используя приведенные здесь советы:

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

Я скорректировал свой собственный скрипт таким образом, чтобы я мог отправлять либо SBCL или Clojure ( Клоджур ) сессия.Это делает вас намного продуктивнее и использует преимущества REPL.

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

Некоторым людям нравится ХРОМОЙ также.

Ознакомьтесь с подключаемым модулем Limp:

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

:установить lisp

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

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

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

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

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

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

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

известь это отличный, многофункциональный плагин, который использует преимущества нового асинхронного интерфейса для обеспечения SLIME-подобной среды разработки для Common Lisp.

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

Используйте Emacs.

Серьезно, тот СЛИЗЬ настройка для Emacs в значительной степени тот самый стандартная платформа разработки для Lisp, и на то есть очень веские причины.

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

Вы должны найти все соответствующие ссылки на Страница Cliki о Vim.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top