Emacs Org-Mode: Wyłącz numery linii
Ostatnio przeniosłem się z vim
do Emacs
, ponieważ chcę użyć org-mode
. Otworzyłem linię ~10000, plik 50kb w Emacs23
Org-mode
i dodał około 10 pozycji pierwszego poziomu. Wydajność na quad-core z 3GB RAM w Emacs23 pod Ubuntu 10.04/32bit był tak powolny, że był bezużyteczny. Znalazłem dwa wątki na liście dyskusyjnej Org-mode
. Wydaje się, że włączenie linum
powoduje powolne działanie. Mogę żyć bez numerów linii w plikach .org
, jeśli muszę, ale Nie chcę wyłączać numerów linii dla wszystkich edytowanych plików. Jeśli mam " żyć " w 'Emacsie', będę chciał numery linii do wszystkich innych plików.
Jak mogę wyłączyć linum
tylko dla niektórych lub wszystkich .org
plików? Czy jest to możliwe, jeśli mam kilka plików otwartych w Emacs
i przełączam się między nimi? Znalazłem trochę dyskusji na temat wyłączania numerów linii dla głównych trybów tutaj, ale nie było nic, co mógłbym zaimplementować (chociaż skrypt linum-off.el
wspomniał na stronie wygląda obiecująco, nie znam (jeszcze) (E)Lispa, więc nie mogę go zmienić tak, jak bym tego potrzebował).
Zaktualizowałem Org-mode
z wersji 6.21 b, która pojawiła się wraz z Emacs23
do wersji 7.5, ale to nie robi różnicy. Wydajność w Emacs
GUI jest tak zła, że aplikacja w ogóle nie odpowiada. Wydajność z -nw
jest "lepsza" , ale nadal bezużyteczna.
6 answers
Spróbuj dodać to do swojego .emacs:
(defun nolinum ()
(global-linum-mode 0)
)
(add-hook 'org-mode-hook 'nolinum)
Zakłada się, że do numerowania linii używasz linum, a nie czegoś innego. W każdym razie, możesz dodać ten hook do trybu org, aby wyłączyć wszystko, co może spowolnić org tylko, Gdy używasz trybu org.
Disclaimer: nie mam zainstalowanego linum, więc nie mogę tego przetestować, ale powinno działać.
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
2011-03-08 07:59:52
Jeśli wpiszesz m-x customize, przejdź do Linum w grupie Convenience, Zmień Linum na off lub zmień Linum Delay NA on, znacznie poprawi to wydajność.
Na moim laptopie (3 GB RAM, dwurdzeniowy) wada wydajności (w porównaniu z wyłączonym linum) jest niezauważalna, jednak na moim netbooku nadal mogą występować niewielkie problemy z wydajnością z plikiem 130kb linii ~3000 (opóźnienie ~ 50-150 ms podczas stronicowania).
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
2016-10-04 14:35:14
linum-off.el
wspomniany w moim question rozwiązał ten problem. Instrukcje są w pliku: umieść plik w ścieżce ładowania Emacsa i dodaj (require 'linum-off)
do ~/.emacs. Ten skrypt wyłącza numerowanie linii tylko dla określonych trybów. Przetestowałem go i działa dobrze.
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
2012-05-13 10:37:51
Użyj nlinum , znacznie szybszej alternatywy.
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
2014-04-24 18:02:27
Próbowałem następujących, które wyszły całkiem nieźle:
(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)
Oczywiście, nie potrzebujesz wiązania klawiszy. Sugeruję pozostawienie go w celach testowych i wyłączenie go, jeśli wszystko działa dobrze.
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
2011-03-09 19:47:12
Wystarczy dodać (add-hook 'org-mode-hook (lambda () (linum-mode 0))).
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
2015-04-24 17:17:03