Próbuję przejść do Emacsa jako głównego edytora kodu źródłowego. Tęsknię za jedną rzeczą (powszechną w nawet znacznie prostszych edytorach) - prowadnice wcięcia (nie rzucające się w oczy pionowe linie, które pokazują poziom wcięcia). Czy Emacs jest w stanie je wyświetlić?Jak wyświetlać prowadnice wcięć w Emacs?
Odpowiedz
Zrobiłem funkcję highlight-indentation
do tego celu, code is on github.
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 w oparciu o tryb cc). Działa tylko w przypadku wcięć przestrzeni. Dostosuj highlight-indent-face
, aby zmienić wygląd linii wcięć.
Przykłady (Ruby, Python):
ja też często korzystać z tego fragmentu, że pasuje cały kod na poziomie wcięcia większą niż dotychczasowa linia. To świetny sposób na szybki przegląd obrysu.
(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)
Aby automatycznie załadować to dla plików JavaScript i Python, dodałem do mojego pliku .emacs:' (wymagaj 'podświetlenia podkreślenia) (dodaj wcięcie' podkreślenie-wcięcia 'python-mode-hook' -mode) (tryb "podświetlania-wcięcia" w trybie "js2-mode") ' – Tom
Witaj, dodałem to do mojego .emacs, ale nie wygląda na to, że moje pliki Pythona wyglądają tak, jak na ekranie. Nie widzę żadnych linii wcięcia, jak w twoim przykładzie. czy możesz doradzić? –
+1 za przewijanie. Uwaga dla innych, jeśli włączysz 'tryb podświetlania-podkreślenia' i nic nie zobaczysz, to prawdopodobnie dlatego, że używasz * kart *. – harpo
według mojej wiedzy nikt nie wdrożył do tej pory instrukcji wcięcia dla Emacsa. Najbliższą rzeczą, którą można uzyskać, jest wizualizacja tabel TAB z pakietem białych znaków, zobacz Show tabs with a different character (Emacs).
Uwaga: możesz również wizualizować spacje: 'M-x customize-variable RET spacja-spacja' następnie 'M-x spersonalizuj zmienną RET whitespace-style' i dodaj te dwa tokeny do wyrażenia Lisp:' spaces spaces-mark'. Np. Mój "styl spacji" wygląda obecnie tak: ''(tabs śledzenie linii-końca spacji przed wcięciem nowej linii puste spacje-tabulator tab-mark spacje space-mark)' –
@NoahSussman 'zmienna customize 'nie ma takiej zmiennej oo –
Załóżmy, że możesz zgiąć ColumnMarker do swoich potrzeb, ale podświetli on kolumnę , nie podając jednego piksela.
ja wciąć z 8 pomieszczeń tak Nigdy nie myślałem o tym, p
- 1. Farbowanie/wcięć skrypt w skrypcie w Emacs
- 2. Jak wyświetlać wyskakujące okienka na Emacs?
- 3. Prowadnice 3.1 w innym środowisku
- 4. Jak napisać pusty blok wcięć w Pythonie?
- 5. Jak wyłączyć sprawdzanie wcięć w esLint?
- 6. Alternatywne wyświetlanie wcięć w Vim
- 7. Jak ustawić prowadnice (znaczniki prawego marginesu) w edytorze tekstu VS2012
- 8. Dot Emacs: Czy można wyświetlać tytuły klatek przed katalogami?
- 9. Jak zapisać XmlDocument z wieloma ustawieniami wcięć?
- 10. Pokaż Wcięcie Przewodnik Lines w Xcode
- 11. Edytowanie Pythona w Emacs
- 12. Jak wyświetlić kodowanie pliku w emacs?
- 13. Usuń górne i dolne prowadnice układu w konstruktorze interfejsów.
- 14. Jak wyświetlać/wyświetlać błędy krytyczne w przeglądarce na HHVM
- 15. Jak wyświetlać napisy w MPMoviePlayerController
- 16. Jak wyświetlać obrazy w Angular2?
- 17. Jak wyświetlać plik w webpie?
- 18. Jak wyświetlać dane pole?
- 19. Visual Studio 2012 "Inteligentne" dostosowywanie wcięć
- 20. Jak używać astyle w Emacs?
- 21. Jak zdefiniować funkcję w .emacs?
- 22. Jak uruchomić rakietę w Emacs?
- 23. Jak powiązać C- = w emacs?
- 24. Jak rozpakować/rozpakować w Emacs
- 25. Jak dodawać daty w Emacs przy użyciu Emacs Lisp?
- 26. Xcode - zmienia zasady wcięć dla sprawozdania przełącznika
- 27. Konfiguracja ReSharper dla wcięć metod anonimowych?
- 28. CodeMirror 2: Wiele wcięć usuwa linie
- 29. emacs 24 C++ auto-wcięcie zerwane
- 30. Znacznik wcięć/pionowe linie dla Python w pydev
Jest to pomocne podczas czytania kodu. – Thotep
Tak się składa, że wskazówki do wcięcia byłyby bardzo użyteczne podczas edycji kodu Lisp. –
@ user181548 więcej informacji oznacza mniej błędów. na vim używam 'set listchars = tab: ░ \' (char przed "\" jest znakiem bloku, który nie pojawi się tutaj myślę, może być zastąpiony przez "|" i nadal wygląda dobrze po "\" to znak przestrzeni) – gcb