Emacs - Индивидуальная настройка поведения брекета

400
mellowmaroon

В emacs я предпочитаю поведение в режиме электрических пар для скобок и скобок, а не для поведения, которое выглядит как «скачкообразное» поведение по умолчанию.

Тем не менее, в настоящее время я использую auto-newline и люблю автоматические переводы строк, вставленные с помощью фигурных скобок (я использую отступ в стиле BSD).

Я хотел бы выяснить, как наилучшим образом объединить эти варианты поведения, чтобы при вводе открывающей фигурной скобки следовала строка с отступом и закрывающая скобка.

Я пытался найти в Google потенциальные решения, но у меня не было возможности сформулировать, что именно я ищу.

-1

1 ответ на вопрос

1
mk1

I could not find an easy way to do what you want, though eventually electric-layout-mode might help. So I offer the following hack:

(defun c-open-brace () (interactive) (let ((electric-pair-mode nil)) (c-electric-brace nil) (save-excursion (newline) (insert ?}) (indent-according-to-mode)))) (define-key c-mode-map (kbd "{") 'c-open-brace) 

Похожие вопросы