Сложение кода в Emacs
Возможный дубликат:
Как добиться эффекта складывания кода в emacs
Отличная особенность Dreamweaver сворачивание кода любых строк текста - рекурсивно!
Это фантастика, я могу сложить любой текст или код, независимо от языка. Я работаю с существующими системами; Я не редактирую хорошо написанный код или код на одном языке и т.д., Главным образом, HTML, смешанный с богом-знанием. Складывающиеся линии облегчают и ускоряют понимание много. К сожалению, это единственная функция, которая мне нравится в Dreamweaver.
Есть ли какая-либо сводка кода для Emacs с аналогичной целью?
Ответы
Ответ 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, чтобы скрыть выбранные пользователем области...
(Но это странно. Сложенный второстепенный режим с постоянными метками кажется гораздо более удобным решением.)