2013-04-15 3 views
2

Я использую sbcl с GNU Emacs 24.3.1 и выпуском SLIME 2012-04-14 на Arch Linux для написания кода Common Lisp. При написании выражения, если я типа, напримерКак выделить текущий аргумент в SLIME

(if 

минибуфер покажет

(if TEST THEN &OPTIONAL ELSE) 

Есть ли режим или настройки SLIME, которые могут привести аргумент, что я в настоящее время редактирования будет выделен в минибуфер? Например, если я типа

(if (> x y) 

было бы здорово, если бы

(if TEST *THEN* &OPTIONAL ELSE) 

или что-то похожее отображается в минибуфере.

+0

Какие версии Emacs и SLIME вы используете? В Lispbox под Windows кажется, что он работает из коробки. – Alexey

+0

Какой вспомогательный режим документации вы используете? Вы можете легко найти это, проверив строку состояния? Должно быть что-то вроде '(Lisp ElDoc ...)' или '(Lisp Autodoc ...)'. – Alexey

+0

@Alexey Добавил несколько деталей конфигурации к вопросу. Что касается вспомогательного режима документации: я не использую режим eldoc, и я не думаю, что у меня установлен Lisp Autodoc (я сделал C-h a для «autodoc» без каких-либо результатов). Кроме того, вот что отображается в моей строке режима: ничего не касается документации: 'game.lisp 86% (115, 15) (Lisp [? Sbcl])' –

ответ

1

Странно, что у вас есть документация в минибуфере с этой конфигурацией. Возможно, ваше распределение также загружает его из другого места.

Пожалуйста, попробуйте этот конфиг:

(setq inferior-lisp-program "/usr/bin/sbcl") 
(add-to-list 'load-path "~/.emacs.d/slime-2012-04-14/") 
(require 'slime) 
(require 'slime-autoloads) 
(slime-setup '(slime-autodoc)) 

Это говорит Emacs, чтобы загрузить и использовать slime-autodoc модуль, который отображает документацию и в минибуфере и подчеркивает его, как вы хотели бы, чтобы это было.

Возможно, вам также стоит обновиться до более поздней версии SLIME (текущий в ELPA - 20130402).

+0

Отлично. Потребовалось немного возиться, чтобы все работало нормально, но slime-autodoc - это то, что мне нужно. Благодаря! –