Подтвердить что ты не робот

Сложение кода в Emacs

Возможный дубликат:
Как добиться эффекта складывания кода в emacs

Отличная особенность Dreamweaver сворачивание кода любых строк текста - рекурсивно!

Это фантастика, я могу сложить любой текст или код, независимо от языка. Я работаю с существующими системами; Я не редактирую хорошо написанный код или код на одном языке и т.д., Главным образом, HTML, смешанный с богом-знанием. Складывающиеся линии облегчают и ускоряют понимание много. К сожалению, это единственная функция, которая мне нравится в Dreamweaver.

Есть ли какая-либо сводка кода для Emacs с аналогичной целью?

4b9b3361

Ответ 1

Там складной режим, второстепенный режим. К сожалению, это навязчиво: вам нужно вручную аннотировать складки специальными комментариями, которые загромождают код, когда вы не используете этот режим (или при совместном использовании кода с другими, которые его не используют). Улучшенный режим не изменит ваш код для работы.

Позвольте мне добавить: есть дубликат этого, который стоит посмотреть: Как добиться эффекта складывания кода в Emacs.

Ответ 2

hide-show (hs-minor-mode) - второстепенный режим, который сделает что-то вроде этого...

По умолчанию привязка ключа к запуску сворачивания C-c @ C-c, который я нахожу довольно громоздким. Но тогда я тоже не использую его.

Ответ 3

Возможно, вы захотите найти функцию set-selective-display и переменную selective-display. Не совсем то, что вы хотите, но оно позволяет скрывать линии на основе уровня отступов.

Ответ 4

Я использую fold-dwim.el. Из emacs wiki:

fold-dwim.el - это унифицированный пользовательский интерфейс для режимов складывания/выделения Emacs. Он поддерживает функции folding.el, hideshow.el, outline.el, TeX-fold.el и nxml-outln.el

Вы можете получить его здесь:

http://www.emacswiki.org/emacs/FoldDwim

У меня это в моем .emacs:

(require 'fold-dwim)
(global-set-key [(C kp-4)] 'fold-dwim-hide-all)
(global-set-key [(C kp-5)] 'fold-dwim-toggle)
(global-set-key [(C kp-6)] 'fold-dwim-show-all)

Имейте в виду, что вам все равно нужно активировать hs-minor-mode, folding-mode и т.д., но мне легче использовать их таким образом.

Ответ 5

Что-то еще, что вы можете изучить, это nxhtml-mode; он не сбрасывает код, но выделяет смешанный код (т.е. HTML и PHP) по-разному в зависимости от его типа. Это дает вам аналогичный выигрыш в понятности без неловкости режима складывания. Я думаю, что этот подход больше подходит для Emacs, во-первых, потому что сложение кода похоже на ориентированную на мышь идею, которая плохо адаптируется к основному интерфейсу Emacs, ориентированному на клавиатуру, и во-вторых, поскольку Emacs упрощает навигацию по большому файлу этот код может оставаться видимым, не мешая вам.

Ответ 6

Если вам действительно нужно "что-то, чтобы скрыть данный регион, а не пытаться понять синтаксис" (в отличие от hideshow и других решений, основанных на разборе), и вы "не хотите редактировать [свой] код" в отличие от складывания), то, я полагаю, вы имеете в виду, что вы не хотите, чтобы регионы были постоянными между различными сеансами редактирования. Затем вы можете использовать http://www.emacswiki.org/emacs/HideRegion, чтобы скрыть выбранные пользователем области...

(Но это странно. Сложенный второстепенный режим с постоянными метками кажется гораздо более удобным решением.)