Вопрос

  

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

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

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

Есть ли сворачивание кода для Emacs с похожей целью?

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Я использую fold-dwim.el. Из вики Emacs:

fold-dwim.el - это унифицированный пользовательский интерфейс для режимов сворачивания / разметки Emacs. Он поддерживает fold.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, fold-mode и т. д., но мне проще использовать их таким образом.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top