SLIME в Emacs
MNK> Підкажіть (натякніть) як в Emacs встановити (налаштувати?) SLIME mode.
у файл ініціалізації (C-x-f .emacs, якщо в тебе конкретно Emacs) пишеш щось таке:
(add-to-list 'load-path "/шлях/куди/розпакував/slime/") (add-to-list 'load-path "/шлях/куди/розпакував/slime/contrib") >(require 'slime) (slime-setup)
* якщо ставив SLIME з пакета (наприклад, у Debian), шляхи писати не потрібно
* у slime-setup можна вказати якісь додаткові можливості завантажувати, наприклад: (slime-setup' (slime-fancy)) завантажить основні модулі на кшталт автодоповнення і т.д.
* вказати який лисп запускати можна так: (setq inferior-lisp-program "sbcl")
* корисні налаштування: (paren-set-mode 'blink-paren); підсвічування дужок;;; правильна індентація (setq lisp-indent-function 'common-lisp-indent-function)
(setq common-lisp-hyperspec-root "file:///C:/TEXTS/hyperspec/HyperSpec/") (setq common-lisp-hyperspec-symbol-table "C:/TEXTS/hyperspec /HyperSpec/Data/Map_Sym.txt") ;; інакше буде посилатися на інтернет
* Підтримка не-англійських символів - не знаю, може в Emacs працює з коробки, в XEmacs потрібно налаштовувати.
(add-hook 'slime-mode-hook '(lambda() (define-key slime-repl-mode-map [f12] 'slime-complete-symbol))))
(add-hook 'slime-repl-mode-hook '(lambda() (define-key slime-repl-mode-map [f12] 'slime-complete-symbol))))
Привіт, Alex та Aleksandr, дякую за відповідь по Slime!
Довго не міг зрозуміти, в якому форматі вказувати path, в * Messages * після старту прочитав ("D:\Program Files\emacs-22.2\bin\emacs.exe")
Потім у * scratch * (print load-path) C-x C-e - і виправив формат. Довго шукав, де init-file .emacs Скористався порадоюна http://www.gnu.org/software/emacs/windows/Installing-Emacs.html#Installing-Emacs (insert (getenv "HOME")) - знайшов у C:\Documents and Settings\UserName\Application Data\.emacs.d\init.el
Пробував різні варіанти init.el, працює ось цей:
(Add-to-list 'load-path "D:/Program Files/emacs-22.2/slime") (add-to-list 'load-path "D:/Program Files/emacs-22.2/slime/ contrib") (Add-to-list 'load-path "D:/Program Files/emacs-22.2/slime/doc") (require 'slime) (slime-setup)
Але доводиться вручну M-x slime-mode Як би автоматизувати запуск slime-mode?
Якщо набрати M-x slime, то "apply: Searching for program: no such file or directory, lisp" Що їй не подобається?
Repl запускаю так: M-x slime-repl-mode Якщо набрати M-x slime-repl, то "slime-connection: Not connected"
З'являються меню SLIME та REPL, але REPL-запрошення немає.
Чи правильно я роблю? Де підкрутити?
MNK> Пробував різні варіанти init.el, працює ось цей:
а ось був би у тебе лінукс, все працювало б із коробки :)
MNK> Але доводиться вручну M-x slime-mode MNK> Як автоматизувати запуск slime-mode?
взагалі-то slime-setup і так автоматизує включення slime-mode для всіх файлів .lisp і т.д.: (2)
у тебе файл спочатку визначається в lisp-mode? Загалом, покажи який режим воно пише спочатку і який після slime-mode
MNK> Якщо набрати M-x slime, то MNK> "apply: Searching for program: немає такого файлу або directory, lisp" MNK> Що їй не подобається?
* вказати який лисп запускати можна так: (setq inferior-lisp-program "sbcl")
там має бути шлях до реалізації лиспа, яку ти збираєшся використовувати (CLISP?),такий, щоб воно його знайшло - тобто, можливо, повний шлях.
Так, у мене крім багато претензій до вини. 1с не йде, шкода, а то б, а я б. :)
Який? .el? Коли відкриваю init.el, з'являється пункт меню Emacs-Lisp (При переході в *scratch* пункту меню Emacs-Lisp немає.)
M-x slime - не знаходить Lisp: apply: Searching for program: немає такого файлу або directory, lisp"
(print inferior-lisp-program) C-x C-e "lisp" "lisp"
Пробував поставити SBCL - вдома запускається, на роботі, на потужнішому.
вище, за замовчуванням: (print inferior-lisp-program) C-x C-e "lisp"
Я ніякого Lisp'а, наївний, не ставив більше, сподівався на Emacs Lisp. А що, потрібно? Куди, в яку папку? Яку папку цього Lisp вказати в -program "папка")? (setq inferior-lisp-program "папка") прописати в init.el?
Який можна використовувати для Win XP?
Михайло ЗИ. Дивно спостерігати, як у Emacs можна змінювати функціональність на 2 роки, без перекомпіляції.
Як налаштувати копі-пасті через С-с, С-v (С-м в українському регістрі) натякніть, плз!
??>> а ось був би у тебе лінукс, все працювало б із коробки :) MNK> Так, у мене крім багато претензій до вини. MNK> 1с не йде, шкода, а то б, а я б. :)
Так ніхто не заважає використовувати одночасно - установи vmware server, завантажу готову вірт. машину з лінуксом і користуй, я так працюю, наприклад. Тільки на комп'ютері бажано пам'яті хоча б 1 GB, на 512 вже буде не зовсім комфортно.
??>> у тебе файл спочатку визначається в lisp-mode? MNK> Який? .el? MNK> Коли відкриваю init.el, з'являється пункт меню Emacs-Lisp
ні, .el саме Emacs-Lisp і має писати. файли Common Lispзазвичай називають .lisp або .cl, slime-mode для них повинен автоматично встановлюватися.
MNK> Пробував поставити SBCL - вдома запускається, на роботі, на потужнішому MNK> компе - ні:
під віндою із безкоштовних реалізацій рекомендується CLISP або ECL. CLISP популярніше, в ECL є підтримка багатопоточності та можливість легкої інтеграції з C.
він за замовчуванням намагається виділити собі безперервний шматок пам'яті в 512 MB. Можна спробувати стримати апетит опцією dynamic-space-size, наприклад:
sbcl --dynamic-space-size 256
це буде 256 МБ. можна зменшити до 64.
MNK> вище, за замовчуванням: MNK> (print inferior-lisp-program) C-x C-e MNK> "lisp"
MNK> Я ніякого Lisp'а, наївний, не ставив більше, сподівався на Emacs MNK> Lisp. А що потрібно?
Ну як би так. Emacs Lisp радикально відрізняється від Common Lisp (наприклад, відсутністю лексичних замикань та ГО) і присутній в Emacs без жодного SLIME.
MNK> Куди, до якої папки?
в будь-яку, тільки бажано щоб у назві не було пробілів і українських букв :)
MNK> Яку папку цього Lisp'а вказати в (setq inferior-lisp-program MNK> "папка")? (setq inferior-lisp-program "папка") прописати в init.el?
угу, тільки не папку, а шлях до виконуваного файлу. Якщо він у тебе прописаний в PATH, то просто clisp, sbcl або що там. Якщо ні (а так швидше за все і буде), щось таке :
(setq inferior-lisp-program "h:\lisp\ecl\ecl.exe")
загалом, спробуй його в консолі абсолютним шляхом запустити, як вийде - то і в inferior-lisp-program пиши.
MNK> Який можна використовувати для Win XP?
CLISP, ECL, SBCL (через жопу), GCL (не рекомендується), ABCL (на любителя -працює через Java).
є також урізані версії комерційних реалізацій: Lispworks, Allegro CL, Corman Lisp. вони йдуть зі своїм IDE, але можна і через Emacs запустити.
MNK> Як налаштувати копі-пасті через С-с, С-v (С-м в українському регістрі) MNK> натякніть, плз!