it-roy-ru.com

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

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

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

86
Drew Olson

Limp стремится быть полнофункциональным Common LISP IDE для 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. Есть и другие решения, которые являются более легкими или пытаются сделать что-то другое, но я верю в создание среды, которая дает вам такие вещи, как сопоставление скобок, выделение, поиск документации, то есть превращение ее в решение "под ключ" в максимально возможной степени ,.

В репозиторий 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, который работает в редактор - интерфейс).

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

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

Удачи!

51
Mikael Jansson

Вы могли бы дать slimv перерыв.

28
osdf

Вот классная диаграмма 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 :)

18
Luís Oliveira

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 также.

8
Brian

Проверьте плагин Limp:

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

7
Ben Hoffstein

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

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

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

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

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

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

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

3
pupeno

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

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

3
Dave Yarwood

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

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

Серьезно, настройка SLIME для Emacs в значительной степени стандартная платформа разработки для LISP, и по очень веской причине.

2
Kirk Strauser

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

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

2
Nowhere man