Я пытаюсь переключиться на Emacs в качестве основного редактора исходного кода. Я очень скучаю по одной вещи (обычно в гораздо более простых редакторах) - направляющие отступов (ненавязчивые вертикальные линии, показывающие уровень отступов). Может ли Emacs отображать их?Как отображать руководства по отступлению в Emacs?
ответ
я сделал функцию highlight-indentation
для этой цели, code is on github.
При вызове highlight-indentation
без аргумента префикса текущий уровень отступов наивно угадывается из основного режима (python, ruby и языки на основе cc-mode). Работает только для пространственных углублений. Настройте highlight-indent-face
, чтобы изменить внешний вид линий отступа.
Примеры (Ruby, Python):
Я также часто использую этот фрагмент, который складывает весь код на уровне отступа выше, чем в текущей строке. Это отличный способ получить краткий обзор контура.
(defun aj-toggle-fold()
"Toggle fold all lines larger than indentation on current line"
(interactive)
(let ((col 1))
(save-excursion
(back-to-indentation)
(setq col (+ 1 (current-column)))
(set-selective-display
(if selective-display nil (or col 1))))))
(global-set-key [(M C i)] 'aj-toggle-fold)
Чтобы автоматически загружать это для файлов JavaScript и Python, я добавил следующее в мой .emacs:' (require 'highlight-indentation) (добавить-крючок' python-mode-hook 'highlight-indentation -mode) (add-hook 'js2-mode-hook' highlight-indentation-mode) ' – Tom
Привет, я добавил это в мои .emacs, но не кажется, что мои файлы python выглядят так же, как на экране. Я не вижу никаких строк отступа, как в вашем примере. вы могли бы посоветовать? –
+1 для переключателя. Обратите внимание на другие, если вы включите 'highlight-indentation-mode' и ничего не видите, вероятно, потому, что вы используете * tabs *. – harpo
Насколько мне известно, до сих пор не было внедрено руководство по отступлению для Emacs. Самое близкое, что вы можете получить, это визуализация TAB с пакетом whitespace, см. Show tabs with a different character (Emacs).
Обратите внимание, что вы также можете визуализировать пробелы: 'M-x customize-variable RET whitespace-space', затем' M-x customize-variable RET whitespace-style' и добавить эти два токена в выражение Lisp: 'пробелы-пробелы-метки'. Например, мой стиль 'whitespace-style' выглядит следующим образом:' '(tabs trailing lines-tail space-before-tab newline indentation пустое пространство-после-табуляция метки метки метки пробела) ' –
@NoahSussman' customize-variable 'не имеют такой переменной oo –
Предположим, вы могли бы сгибать ColumnMarker в соответствии с вашими потребностями, но он выделит колонку , а не один пиксель.
Я отступ с 8-ми пробелов, так что я никогда не думал об этом, P
- 1. Руководство по отступлению редактора eclipse
- 2. Sublimetext 3 руководства по отступлению, не показывающие для каждого уровня отступа
- 3. Инструкции по отступлению кода DevExpress 11.2
- 4. шаги по отступлению для окончания x/
- 5. Руководство по отступлению столбца на текстовом поле
- 6. Принуждение к отступлению в Prolog
- 7. Как отображать варианты автозаполнения в emacs?
- 8. Руководства по руководству чертежами?
- 9. Невозможно поместить руководства открыто в Emacs непосредственно из терминала
- 10. Схема руководства по стилю
- 11. Как отображать не-ascii в emacs?
- 12. Отображать последовательные пробелы как точки в Emacs
- 13. Руководства по разработке Android
- 14. Руководства по закладке значков
- 15. Справочные руководства по R
- 16. Манекены руководства по смещению бит?
- 17. Как заставить Emacs отображать китайские символы
- 18. Руководства по концепциям 3D-программирования?
- 19. Руководства по настройке запросов PostgreSQL?
- 20. Руководства по настройке перетаскивания iOS
- 21. Руководства по человеческому интерфейсу iOS
- 22. Руководства по макету веб-приложений
- 23. Расширенные руководства по веб-разработке
- 24. Рекомендации по внедрению руководства пользователя
- 25. Хорошие руководства по управлению кодом?
- 26. Руководства по FTP с commons.net.ftp
- 27. Любые руководства по использованию phpDocumentor?
- 28. Как сравнить три списка/руководства по классам
- 29. Руководства по памяти о утечке
- 30. Текстовая версия руководства по MySQL
Полезно при чтении некоторого кода. – Thotep
Как бы то ни было, направляющие отступов были бы действительно полезны при редактировании кода Lisp. –
@ пользователь181548 больше информации соответствует меньше погрешности. на vim я использую 'set listchars = tab: ░ \' (char перед символом «\» является символом блока, который не будет отображаться здесь, я думаю, может быть заменен на «|» и по-прежнему выглядит хорошо. после «\» является пространственным символом) – gcb