Свертывание кода в Emacs
Иногда я хочу сложить блок текста. В Vim вы легко складываетесь без пуха. Без добавления каких-либо специальных символов, таких как «маркеры» или конкретного регулярного выражения, как {{{
. Я хотел бы выбрать регион и сложить его, не мешая со структурой.
Оглядываясь вокруг, кажется, уже были вопросы о свертывании кода в Emacs. Кто-то сказал, что «идеального решения не было». Например, я создал клип простого кодирования в Vim:
Vim обычный складной
+ Довольно просто, выберите регион и сложите его.
+ Это постоянно. Когда вы убьете буфер / закроете Vim. И снова откройте файл, сгибы все еще там.
+ Вы получаете полосу выделения, чтобы легко увидеть, что сложено.
Есть много других конфигураций складывания для Vim. Я доволен Emacs, но это одна вещь, по которой я скучаю. Другие альтернативы, которые я пробовал, например HideShow:
HideShow
Альтернатива зла с hide-show minor mode
. Я нашел это непригодным
- Я не могу выбрать регион и свернуть его. Он складывается на блоки кода.
- Там нет ни одного бара для бара или чего-то другого, чтобы присутствовать на нем, он свернут. Вы можете легко пропустить это.
- Это не настойчиво. Если вы снова откроете файл, сгибы исчезнут.
Есть еще один пакет, сложите это :
Сложите это
- Это красивая альтернатива. Однако, это портит отступ, потому что текст под сгибом помещается рядом с сгибом ... (?).
- Он может просто визуально выбрать регион и сложить его. Но это нарушает неопределенность, поэтому обзор запутался. Не очень удобно.
- Там нет ни одного бара для бара или чего-то еще, чтобы присутствовать на нем, он свернут. Вы можете легко пропустить это.
В чем проблема?
Я хотел бы повторить, как Вим делает фолд. Но когда я искал вокруг, кажется, что это очень сложно сделать в Emacs. Так что мне интересно, есть ли что-то в emacs или его архитектуре, которое мешает воспроизвести это? Каковы пределы?
источник
Ответы:
Попробуй
vimish-fold
.особенности
батарейки в комплекте: активируйте второстепенный режим, свяжите пару команд и все будет просто работать;
работает в выбранных вами регионах;
он постоянен: при закрытии файла ваши складки не исчезают;
Помимо того, что он постоянный, он хорошо масштабируется, вы можете работать с сотнями файлов с большим количеством сгибов без каких-либо побочных эффектов;
очевидно, какие части текста сложены;
это не ломает отступ или что-то;
он может складывать только развернутые складки (о мой);
для любителей
avy
пакета: вы можете использоватьavy
для свертывания текста с минимальным количеством нажатий клавиш!использование
Создайте привязку для некоторых из / всех этих функций:
vimish-fold
- базовая складка выбранного региона;vimish-fold-unfold
- вам не нужно связывать это, просто используйте, C-gкогда точка находится на заголовке, представляющем сложенный текст;vimish-fold-unfold-all
- тем не менее это может быть полезно;vimish-fold-refold
- да, вы можете сложить его обратно;vimish-fold-avy
- используйте,avy
чтобы сложить текст!Вы можете включить
vimish-fold-mode
выборочно для режимов, где вы хотите иметь постоянное сворачивание, или просто активировать его везде:источник
menu v f
→vimish-fold
,menu v a
→vimish-fold-avy
,menu v u
→vimish-fold-unfold-all
,menu v v
→vimish-fold-refold
. Большинство моих сочетаний клавиш такие, это мой конфиг .