Jak wyświetlać linie wcięć w Emacsie?
Próbuję przełączyć się na Emacsa jako główny edytor kodu źródłowego. Brakuje mi jednej rzeczy (często spotykanej w nawet znacznie prostszych edytorach) - prowadnic wcięcia (dyskretne pionowe linie pokazujące poziom wcięcia). Czy Emacs jest w stanie je wyświetlić?
3 answers
Stworzyłem w tym celu funkcję highlight-indentation
, kod jest na GitHubie.
Podczas wywoływania highlight-indentation
bez argumentu przedrostka bieżący poziom wcięcia jest naiwnie odgadywany z trybu głównego (python, ruby i języki oparte na trybie cc). Działa tylko dla wgnieceń przestrzeni. Dostosuj highlight-indent-face
, aby zmienić wygląd linii wcięć.
Przykłady (ruby, python):
Często używam również tego fragmentu, który składa cały kod na poziomie wcięcia większym niż aktualna linia. Jest to świetny sposób na uzyskanie szybkiego przeglądu zarysu.
(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)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-16 09:25:28
Z mojej wiedzy nikt do tej pory nie zaimplementował poradników wcięć dla Emacsa. Najbliższą rzeczą, jaką możesz uzyskać, jest wizualizacja kart z pakietem spacji, zobacz Pokaż karty z innym znakiem (Emacs) .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:30:17
Załóżmy, że możesz zgiąć ColumnMarker do swoich potrzeb, ale podświetli kolumnę nie daje ci ani jednego piksela.
Wciąłem 8 spacji więc nigdy o tym nie myślałem; P
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-20 08:41:20