Ich versuche, zu Emacs als meinen primären Quellcode-Editor zu wechseln. Ich vermisse wirklich eine Sache (üblich in sogar viel einfacheren Editoren) - Einkerbung (unauffällige vertikale Linien, die den Eindruck zeigen). Kann Emacs sie anzeigen?Wie werden Einrücklinien in Emacs angezeigt?
Antwort
ich eine Funktion highlight-indentation
zu diesem Zweck gemacht habe, code is on github.
Beim Aufruf von highlight-indentation
ohne Präfixargument wird die aktuelle Einrückungsstufe naiv aus dem Hauptmodus erraten (Python, Ruby und Sprachen basierend auf cc-mode). Funktioniert nur bei Leerzeicheneindrücken. Passen Sie highlight-indent-face
an, um das Erscheinungsbild von Einzuglinien zu ändern.
Beispiele (Rubin, Python):
ich diese Schnipsel häufig auch benutzen, die alle Codes auf einem Einrückungsniveau faltet größer ist als die aktuelle Zeile. Es ist eine großartige Möglichkeit, einen schnellen Überblick über die Gliederung zu erhalten.
(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)
Um dies automatisch für JavaScript- und Python-Dateien zu laden, habe ich folgendes zu meiner .emacs hinzugefügt:' (require 'highlight-indentation) (add-hook' python-mode-hook 'Hervorhebung-Einrückung -mode) (add-hook 'js2-mode-hook' highlight-indentation-mode) ' – Tom
Hallo, ich habe dies zu meinen .emacs hinzugefügt, aber meine Python-Dateien sehen nicht so aus wie auf dem Bildschirm. Ich sehe keine Einrücklinien wie in Ihrem Beispiel. Könntest du einen Rat geben? –
+1 für die Toggle-Falte. Hinweis für andere, wenn Sie den "Highlight-Indention-Modus" aktivieren und nichts sehen, liegt das wahrscheinlich daran, dass Sie * Tabs * verwenden. – harpo
meines Wissens hat bisher niemand Einbuchtungsanleitungen für Emacs implementiert. Am nächsten kommt die Visualisierung von TABs mit dem Whitespace-Paket, siehe Show tabs with a different character (Emacs).
Beachten Sie, dass Sie auch Räume visualisieren können: 'M-x customize-variable RET whitespace-space' dann' M-x customize-variable RET whitespace-style' und füge diese beiden Token dem Lisp-Ausdruck hinzu: 'spaces spaces-mark'. Mein 'whitespace-style' sieht z. B. so aus:' '(Tabulatoren Zeilenumbruch-Leerzeichen Leerzeichen-vor-Tab Zeilenumbruch Leerzeichen Leerzeichen-nach-Tab Tab-Zeichen Leerzeichen Leerzeichen) ' –
@NoahSussman die' customize-Variable 'habe keine solche Variable oo –
Angenommen, Sie könnten ColumnMarker auf Ihre Bedürfnisse biegen, aber es wird eine Spalte markieren Sie nicht ein einziges Pixel.
ich einrücken mit 8 Leerzeichen, so habe ich nie darüber nachgedacht; P
- 1. Wie können Menü-/Hilfebildschirme in Emacs korrekt angezeigt werden?
- 2. Emacs Powerline nicht angezeigt Pfeil
- 3. Wie werden Artikel angezeigt, die derzeit in AdapterView angezeigt werden?
- 4. Wie werden Emacs-Terminalfarben wie Emacs GUI-Farben dargestellt?
- 5. Wie werden überschriebene/schattierte Tastenbelegungen angezeigt?
- 6. Wie wird die automatische Vervollständigung in Emacs angezeigt?
- 7. Wie varBinary Felddaten angezeigt werden
- 8. Wie werden Facebook-Profilbilder angezeigt?
- 9. wie SMS-Inhaltsanbieter angezeigt werden?
- 10. Wie werden hexadezimale Zahlen in C angezeigt?
- 11. wie JSON-Daten in HTML angezeigt werden
- 12. Wie alle Ausgaben in Julia angezeigt werden?
- 13. Wie Elternmethoden/Variablen in Outline angezeigt werden?
- 14. wie Kopfzeilen immer in RowsFragment angezeigt werden
- 15. Wie werden JLabel-Auslassungszeichen in MigLayout angezeigt?
- 16. Wie werden Tabellenwerte in Listbox angezeigt?
- 17. Wie werden Zeilennummern in weniger (GNU) angezeigt?
- 18. Wie verwaltete Ausnahmedetails in WinDBG angezeigt werden?
- 19. Wie werden Funktionsargumente in Spyder angezeigt?
- 20. Wie Verzeichnisse in einem TreeView angezeigt werden?
- 21. Wie Prozentsätze in jqgrid angezeigt werden?
- 22. wie Datenbankdaten in vertikaler Weise angezeigt werden
- 23. Wie werden Zeilennummern standardmäßig in SciTE angezeigt?
- 24. Wie mehrere Bilder in ActiveAdmin angezeigt werden
- 25. Wie alle Tabellennamen in luasql angezeigt werden
- 26. Wie werden die Tags angezeigt?
- 27. Wie "Divs" horizontal angezeigt werden?
- 28. Wie werden fünf Zeilen angezeigt?
- 29. Wie NULL-Werte angezeigt werden?
- 30. Wie kann ich feststellen, wo meine Emacs-Sitzung angezeigt wird?
Es ist hilfreich beim Lesen von Code. – Thotep
Es ist wirklich so, dass Einrücklinien wirklich nützlich wären, wenn Lisp-Code bearbeitet wird. –
@ user181548 mehr Informationen entspricht weniger Fehlern. Auf vim benutze ich 'set listchars = tab: \ \' (char vor dem "\" ist ein block char, der hier nicht angezeigt wird, denke ich, kann durch "|" ersetzt werden und sieht immer noch gut aus. nach dem "\" ist ein Leerzeichen Zeichen) – gcb