Emacs Org-Mode: désactiver les numéros de ligne

J'ai récemment déménagé de vim à Emacs parce que je veux utiliser org-mode. J'ai ouvert une ligne ~ 10000, fichier 50kb dans Emacs23 Org-mode et a procédé à ajouter environ 10 titres de premier niveau. La Performance sur un quad-core avec 3GB RAM dans Emacs23 sous Ubuntu 10.04 / 32bit était si lente qu'elle était inutilisable. J'ai trouvé deux threads sur la liste d'e-mails Org-mode discutant de cela. Il semble que l'activation de linum provoque la lenteur des performances. Je peux vivre sans numéros de ligne dans les fichiers .org Si je dois le faire, mais Je ne veux pas désactiver les numéros de ligne pour tous les fichiers que j'édite. Si je vais "vivre" dans 'Emacs' ,je vais vouloir des numéros de ligne pour tous les autres fichiers.

Comment puis-je désactiver linum pour certains ou tous les .org uniquement les fichiers? Est-il possible de le faire si plusieurs fichiers sont ouverts dans Emacs et basculent entre eux? J'ai trouvé une discussion sur la désactivation des numéros de ligne pour les modes majeurs ici, mais il n'y avait rien que je pouvais implémenter (bien que le script linum-off.el mentionné sur la page semble prometteur, Je ne sais pas (encore) (E)Lisp, donc je ne peux pas le changer comme j'aurais besoin).

J'ai mis à jour Org-mode de la version 6.21 B qui est venue avec Emacs23 à la version 7.5, mais cela n'a fait aucune différence. Les performances dans Emacs GUI sont si mauvaises que l'application ne répond pas du tout. Les performances avec -nw sont "meilleures" , mais toujours inutilisables.

23
demandé sur SabreWolfy 2011-03-08 10:43:19

6 réponses

, Essayez d'ajouter ceci à votre .emacs:

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

Cela suppose que vous utilisez linum et pas autre chose pour numéroter les lignes. Quoi qu'il en soit, vous pouvez ajouter ce hook à org-mode pour désactiver tout ce qui pourrait rendre org lent seulement lorsque vous utilisez org-mode.

Avertissement: je n'ai pas linum installé donc je ne peux pas tester cela, mais cela devrait fonctionner.

10
répondu Rafe Kettler 2011-03-08 07:59:52

Si vous tapez M - x customize, accédez à Linum dans le groupe Convenience, modifiez Linum Eager sur off ou modifiez Linum Delay sur on, cela améliorera considérablement les performances.

Sur mon ordinateur portable (3 GB RAM, Dual core), l'inconvénient de performance (par rapport à linum off) est imperceptible, mais sur mon netbook, il peut encore y avoir de légers problèmes de performance avec un fichier ~3000 line 130KB (~50-150 ms delay lors de la pagination).

8
répondu blake314 2016-10-04 14:35:14

linum-off.el mentionné dans mon quesiton a résolu cela. Les Instructions sont dans le fichier: placez le fichier dans le chemin de chargement Emacs et ajoutez (require 'linum-off) à ~/.emacs. Ce script désactive la numérotation des lignes pour les modes spécifiés uniquement. Je l'ai testé et cela fonctionne très bien.

5
répondu SabreWolfy 2012-05-13 10:37:51

Utiliser nlinum, une alternative beaucoup plus rapide.

4
répondu mcandre 2014-04-24 18:02:27

J'ai essayé ce qui suit qui a plutôt bien fonctionné:

(defun nolinum ()
  (interactive)
  (message "Deactivated linum mode")
  (global-linum-mode 0)
  (linum-mode 0)
)

(global-set-key (kbd "<f6>") 'nolinum)

(add-hook 'org-mode-hook 'nolinum)

Bien sûr, vous n'avez pas besoin du raccourci clavier. Je vous suggère de le laisser à des fins de test et de le désactiver si tout fonctionne bien.

2
répondu phimuemue 2011-03-09 19:47:12

Vous avez seulement besoin d'ajouter (add-hook 'org-mode-hook (lambda () (linum-mode 0))).

2
répondu Jaime Arias 2015-04-24 17:17:03