Схема запуска от emacs
Я новичок в LISP.
Я пытаюсь вызвать интерпретатор схемы из emacs (версия 23 работает на окнах). Я загрузил библиотеку xscheme, указав emacs на M-x load-library
, а затем введите xscheme
в приглашении в минибуфере. Загрузилась библиотека, а затем я выпустил команду M-x run-scheme
. (Я понимаю, что вся эта загрузка может быть сделана из .emacs при запуске, но на данный момент меня это не касается.)
До сих пор так хорошо - был создан буфер *scheme*
, и теперь я надеюсь, что смогу поговорить с интерпретатором схемы.
Однако, когда я пытаюсь оценить что-то в этом буфере *scheme*
(например, (define shoe-size 14)
), я получаю это сообщение Output file descriptor of scheme is closed
в минибуфере.
Кто-нибудь знает, как исправить это в emacs?
(Также, как установить основной режим как REPL в буфере *scheme*
?)
Спасибо.
Ответы
Ответ 1
Попробуйте установить переменную scheme-program-name
в путь к вашему интерпретатору Схемы. Основной режим буфера схемы, вероятно, всего лишь comint
, и вы не можете много сделать, если не переключиться на нечто более способное, например Geiser - то, что я бы рекомендовал вам сделать.
Ответ 2
Добавьте эту строку в свой .emacs
файл:
(setq scheme-program-name "gsi")
(Замените "gsi"
именем вашего интерпретатора Схемы.)
Затем вы можете запустить интерпретатор с помощью M-x run-scheme
. Вы можете оценить фрагменты кода, используя C-x C-e
(чтобы оценить sexp перед точкой) или C-M-x
, чтобы оценить sexp, в котором вы сейчас находитесь. Вы также можете загрузить файл с помощью C-c C-l
.
Ответ 3
Начну с того, что я очень новичок в программировании, схеме и SICP, но я пытаюсь работать через курс и смотреть лекции, которые находятся в сети.
Я запускаю emacs на Ubuntu 12.10, и я действительно хотел, чтобы схема MIT работала в emacs вместо того, чтобы полагаться на Эдвина.
Приведенные выше советы не сработали для меня, но здесь пошаговые инструкции, которые действительно работали:
- Установите emacs 24 из Ubuntu Software Center (найдите "emacs" и установите его!)
- Откройте терминал (ALT + CTRL + t)
- Перейдите в свой домашний каталог (
cd ~
)
- Откройте скрытый файл
.emacs
в gedit (gedit .emacs
)
- В первой строке файла введите именно то, что после двоеточия: (require 'xscheme)
- Сохраните изменения в
.emacs
- Что это!!!
Теперь вы можете открывать файлы .scm
в emacs и использовать команды типа C-x
C-e
.
* направления любезно предоставлены http://alexott.net/en/writings/emacs-devenv/EmacsScheme.html#sec14
Ответ 4
Я предполагаю, что это просто известная проблема Я до сих пор не знаю, как разобраться в этом (это из моих текущих навыков), но я получил макрос, который, вероятно, помогает: сразу после записи s-exp вы можете сделать Cc-Cz
(он вызывает REIS), затем C-spc, C-M-b, M-w, C-x-o, C-y
и RET
.
Есть вариация (такая же, как сразу после записи s-exp): C-spc, C-M-b, M-w, C-c Cz, C-y
и RET