25 Stimmen

Emacs Org-Mode: Zeilennummern abschalten

Ich bin kürzlich umgezogen von vim a Emacs denn ich möchte die org-mode . Ich habe eine ~10000 Zeilen große, 50kb große Datei in Emacs23 Org-mode und fügte dann etwa 10 Überschriften der ersten Ebene hinzu. Die Leistung auf einem Quad-Core mit 3 GB RAM in Emacs23 unter Ubuntu 10.04/32bit war so langsam, dass es unbrauchbar war. Ich fand dos Gewinde über die Org-mode E-Mail-Liste zu diesem Thema. Es scheint, dass die Aktivierung linum die Ursache für die langsame Leistung. Ich kann ohne Zeilennummern in .org Dateien, aber ich möchte nicht für alle Dateien, die ich bearbeite, die Zeilennummern deaktivieren. Wenn ich in "Emacs" leben will, brauche ich Zeilennummern für alle anderen Dateien.

Wie kann ich deaktivieren linum für einige oder alle .org nur Dateien? Ist es möglich, dies zu tun, wenn ich mehrere Dateien geöffnet habe in Emacs und zwischen ihnen wechseln? Ich habe eine Diskussion über die Deaktivierung von Zeilennummern für Hauptmodi gefunden ici aber es gab nichts, was ich implementieren konnte (obwohl die linum-off.el Skript erwähnt auf der Seite sieht vielversprechend aus, ich kenne (noch) kein (E)Lisp, daher kann ich es nicht so ändern, wie ich es bräuchte).

I aktualisiert Org-mode von Version 6.21b, die mit Emacs23 auf Version 7.5 umgestellt, aber das hat keinen Unterschied gemacht. Leistung in Emacs Die grafische Benutzeroberfläche ist so schlecht, dass die Anwendung überhaupt nicht mehr reagiert. Leistung mit -nw ist "besser", aber immer noch unbrauchbar.

9voto

Rafe Kettler Punkte 73546

Versuchen Sie, dies zu Ihrer .emacs hinzuzufügen:

(defun nolinum ()
  (global-linum-mode 0)
)
(add-hook 'org-mode-hook 'nolinum)

Dies setzt voraus, dass Sie linum und nicht etwas anderes zur Zeilennummerierung verwenden. Wie auch immer, Sie können diesen Hook zu org-mode hinzufügen, um alles zu deaktivieren, was org langsam machen könnte nur wenn Sie den Org-Mode verwenden.

Haftungsausschluss: Ich habe Linum nicht installiert, kann das also nicht testen, aber es sollte funktionieren.

8voto

blake314 Punkte 81

Wenn Sie M-x customize eingeben, in der Gruppe Convenience zu Linum gehen und Linum Eager auf off oder Linum Delay auf on setzen, wird die Leistung erheblich verbessert.

Auf meinem Laptop (3 GB RAM, Dual-Core) ist der Leistungsnachteil (im Vergleich zu ausgeschaltetem Linum) nicht spürbar, aber auf meinem Netbook kann es immer noch zu leichten Leistungsproblemen bei einer ~3000 Zeilen großen 130KB-Datei kommen (~50-150 ms Verzögerung beim Paging).

6voto

SabreWolfy Punkte 5076

linum-off.el Die in meiner Frage erwähnte Methode hat dieses Problem gelöst. Die Anleitung steht in der Datei: die Datei in den Emacs-Ladepfad legen und hinzufügen (require 'linum-off) in ~/.emacs. Dieses Skript schaltet die Zeilennummerierung nur für die angegebenen Modi aus. Ich habe es getestet und es funktioniert gut.

5voto

mcandre Punkte 20425

Utilice nlinum , eine viel schnellere Alternative.

4voto

Jaime Arias Punkte 49

Sie müssen nur (add-hook 'org-mode-hook (lambda () (linum-mode 0))) hinzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X