2009-04-26 2 views

ответ

3

Убедитесь, что у вас есть складной режим. Затем вставьте

// {{{ 

// }}} 

Вокруг вашего кода. Перезагрузите свой буфер и вуаля! У вас будут складки.

+0

@Ben: У вас есть складной режим без этих знаков? –

+1

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

+0

Я поместил файл folding.el в папку lisp, которая запускается при запуске. Я запускаю emacs с помощью $ emacs ~/.vimrc. У меня есть знаки комментариев как «{{{---"}}}. Я не вижу складки. Должен ли я изменить эти метки меток // {{{--- //}}}? –

11

hs-minor-mode - это то, что вы хотите.

+0

Arkadiy - можете ли вы сказать об этом больше, например, как включить его или включить? – jww

+0

Как и любой другой режим, 'esc x hs-minor-mode' переключает его. О незначительных режимах в целом см. Https://www.gnu.org/software/emacs/manual/html_node/emacs/Minor-Modes.html – Arkadiy

5

Вы можете использовать CEDET для этого. Этот пакет обеспечивает глобальный-семантический тег-складной режим, который позволяет сворачивать функции, классы/структуры, комментарии, пространства имен и т. Д. Он работает более корректно, чем другие пакеты, поскольку он имеет всю синтаксическую информацию о коде.

Существует introduction article about CEDET, что позволяет быстро начать работу с ним

+0

Ничего себе, этот CEDET-материал действительно изящный. Кажется, что он не складывается над структурами управления (например, «if» и «for»), но делает замечательную работу по классам и функциям. –

1

Для Java используйте JDEE. Для C/C++ см. Другой ответ о CEDET.

8

Моя настройка для HS-минор режима заключается в следующем

(add-hook 'c-mode-common-hook 
    (lambda() 
    (local-set-key (kbd "C-c <right>") 'hs-show-block) 
    (local-set-key (kbd "C-c <left>") 'hs-hide-block) 
    (local-set-key (kbd "C-c <up>") 'hs-hide-all) 
    (local-set-key (kbd "C-c <down>") 'hs-show-all) 
    (hs-minor-mode t))) 
+0

Я не получил код для работы. Я поместил код в мой .emacs и начал Emacs в терминале. Я нажал CTRL-C, а затем клавишу со стрелкой влево, но ничего не происходит. Я также проверил ваш код в режиме hs-minor-mode напрямую, перейдя туда сначала на M-hs-minor-mode. –

+0

Можете ли вы дать мне свою систему, emacs spec?Функции в приведенном выше коде документируются в hideshow.el. У них есть свои собственные сочетания клавиш, но я их сопоставил для удобства. –

+0

@Amol: Я использую OS X Leopard. –

2

Вы можете экспериментировать с selective-display. Это скорее быстрое свертывание всего вашего кода в соответствии с его уровнем отступов. Это отлично подходит для получения резюме класса/функции или для быстрого перемещения.

Но если складывающиеся блоки кода - это то, что вы хотите, то HideShow, как отметил Аркадий, вероятно, более подходит.

Смежные вопросы