Схема программирования (Racket) с VIM - Как начать
В последнее время я начал программировать Racket (ранее Scheme) в DrRacket.
Я довольно быстро начал пропустить все возможности VIM в DrRacket, поэтому я хотел бы
использовать VIM для программирования схемы (racket).
Я знаю, что Emacs может быть лучшим выбором для интенсивного программирования lisp, но все
Я хочу написать синтаксис проверки файла схемы (racket) и затем запустить его.
К сожалению, я не мог понять, как вызвать "ракетку" в командной строке
на файл, чтобы заставить его делать то же самое, что и DrRacket.
Я запускаю Ubuntu 10.10 Maverick Meerkat, VIM 7.3, и я скачал и
установленный Racket с официального сайта.
Помогите приступить к работе, мы будем очень благодарны.
Ответы
Ответ 1
Если вы просто хотите загрузить файл в Racket в командной строке и запустить его, я думаю, что это должно работать:
$ racket -f file.scm -i
Опция -i
оставит вас в REPL, чтобы проверить ваш код в file.scm
.
Однако вы можете взглянуть на это сообщение в блоге:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Вы можете настроить сеанс экрана GNU с помощью командной строки Racket и отправить s-выражения на него из Vim. Там есть ссылка на бит Vimscript, который сделает это автоматически. Я использовал это некоторое время с мит-схемой, и это было достаточно эффективно. Однако это не так сильно, как SLIME или DrRacket. Я просто протестировал шаги, описанные в OS X, и он работает с ракеткой командной строки, он должен работать на Ubuntu, что я использовал, когда впервые использовал этот метод.
Вы также можете взглянуть на это:
http://evalwhen.com/scmindent/index.html
... который имеет некоторую информацию о лучшем отступе в Vim для Lisp и кода схемы.
В конце концов я переключился на Emacs, но не позволяйте ненавистникам Vim сбивать вас. Пол Грэм предположительно использует vi, и он должен быть одним из пяти самых известных программистов Lisp.
http://paul.graham.usesthis.com/
Ответ 2
Доступны несколько надстроек, позволяющих сделать кодирование в Racket более удовлетворительным с помощью Vim.
- Режим Vims lisp (
set lisp
) - улучшает некоторые основы для отступов и w
/e
/b
word-hopping.
- vim-racket - значительный набор распознавания vim-синтаксиса для функций и синтаксиса
- syntastic - определить ошибки при сохранении (vim-racket устанавливает
makeprg
, чтобы это работало)
- Круглые скобки радуги - задайте свои собственные цвета пар для максимального контраста!
- vim-slime - используйте Tmux для подключения Vim к Racket REPL
- surround - обертывание форм и элементов в parens
- vim-sexp для нормальных людей
- Цветовая схема Молокаи - высокая контрастность
- VROD * -
K
основанная на Vim документация и автоматическое завершение функций Racket.
- REPTL * - очень простой непрерывный тестовый бегун для стеллажей
Я предпочитаю слизь над slimv за ее простоту.
Если вы используете Vundle, здесь можно установить большинство упомянутых надстроек:
Plugin 'tpope/vim-surround.git'
Plugin 'kien/rainbow_parentheses.vim'
Plugin 'scrooloose/syntastic.git'
Plugin 'MicahElliott/vrod'
Plugin 'guns/vim-sexp'
Plugin 'tpope/vim-sexp-mappings-for-regular-people'
Plugin 'wlangstroth/vim-racket'
Plugin 'tomasr/molokai.git'
Поместите их в свой ~/.vimrc
, а затем вызовите для установки:
% vim +PluginInstall +qall
Вот скриншот, демонстрирующий большинство из них:
![введите здесь описание изображения]()
(* раскрытие: я написал VROD и REPTL, и они незрелые)
Кроме того, это связанное сообщение в блоге, описывающее настройку Vim/SICP.
Ответ 3
Примерно неделю назад SLIMV (SLIME для Vim) поддерживает Racket. SLIMV обычно рассматривается как наиболее зрелая среда Lisp для Vim на данный момент.