OCaml Emacs Tuareg: Оцените сочетание клавиш и как отображать действительные греческие символы? - PullRequest
2 голосов
/ 04 октября 2009

Два вопроса об Emacs Tuareg для OCaml:

  1. Я видел некоторые конфигурации, в которых вместо символа 'отображается символ альфа. Как я могу включить это?

  2. Что такое сочетание клавиш для «оценивать фразу» или «оценивать буфер»?

Ответы [ 4 ]

2 голосов
/ 24 октября 2009

Запустите режим туарегов (например, M-x tuareg-mode) и посмотрите его документацию, нажав C-h m.

Символы, отображаемые в режиме sym-lock, работают только для Xemacs и его вариантов, я боюсь, но вы найдете, как настроить его в своем .emacs, в помощи, упомянутой выше. Ярлык для выполнения инструкции - C-x C-e (см. Раздел «Специальные ключи» справки).

2 голосов
/ 04 октября 2009

Я могу ответить только на часть (2):

  • Чтобы запустить Ocaml верхнего уровня: C-c C-s
  • Чтобы оценить фразу: C-x C-e
  • Чтобы оценить буфер: C-c C-b
  • Чтобы оценить регион: C-c C-r
1 голос
/ 04 октября 2009

Вы можете посмотреть мои существующие конфиги , основанные на коде из EmacsWiki с некоторыми расширениями - функция для обработки преобразования текста в символы и пример его использования для режима erlang - вы можете изменить его на Режим ocaml также

P.S. но у этого кода есть один недостаток - он также отображает эти символы внутри строк и комментариев

1 голос
/ 04 октября 2009

Я не уверен, что это именно то, что вы имеете в виду для первой части вашего вопроса, но у меня есть ключевое слово font-lock-mode для отображения ключевого слова lambda в виде греческого лямбда-символа, который можно адаптировать к делай, что просишь. Требуется только включить режим font-lock-mode. (Я не писал это, просто нашел, что это где-то плавает).

;; real lisp hackers use the lambda character
;; courtesy of stefan monnier on c.l.l
(defun sm-lambda-mode-hook ()
  (font-lock-add-keywords
   nil `(("\\<lambda\\>"
   (0 (progn (compose-region (match-beginning 0) (match-end 0)
        ,(make-char 'greek-iso8859-7 107))
      nil))))))
(add-hook 'emacs-lisp-mode-hook 'sm-lambda-mode-hook)
(add-hook 'lisp-interactive-mode-hook 'sm-lamba-mode-hook)
(add-hook 'scheme-mode-hook 'sm-lambda-mode-hook)
...