9

Чтобы отключить полосу прокрутки в emacs, я добавил (toggle-scroll-bar -1) в мой файл .emacs, и он отлично работает, когда я запускаю emacs вне консольного режима. Однако, когда я запускаю emacs в терминале, я получаю ошибку. Определение функции Symbol - void: toggle-scroll-bar

Я использую Emacs 23.3.1

вот след, когда я запускаю --debug-init

    1 Debugger entered--Lisp error: (void-function scroll-bar-mode)                
    2   (scroll-bar-mode -1)                                                       
    3   eval-buffer(#<buffer  *load*> nil "/Users/neil/.emacs.d/init.el" nil t)  ;$
    4   load-with-code-conversion("/Users/neil/.emacs.d/init.el" "/Users/neil/.ema$
    5   load("/Users/neil/.emacs.d/init" t t)                                      
    6   #[nil "^H\205\264^@   \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307$
    7   command-line()                                                             
    8   normal-top-level()

3 ответа3

12

FWIW. Руководство по emacs не рекомендует использовать window-system в качестве предиката.

Не используйте window-system и initial-window-system в качестве предикатов или переменных логического флага, если вы хотите написать код, который по-разному работает на текстовых терминалах и графических дисплеях. Это потому, что оконная система не является хорошим индикатором возможностей Emacs для данного типа дисплея. Вместо этого используйте display-graphic-p или любой другой предикат display - * - p, описанный в разделе «Проверка возможностей отображения».

http://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Systems.html

Я использую это для отключения полосы прокрутки и панели инструментов, когда на графическом дисплее.

(if (display-graphic-p)
    (progn
      (tool-bar-mode -1)
      (scroll-bar-mode -1)))
5

Хотя я думаю, что ответ @ neatonk самый лучший и охватывает все основы, чтобы специально отключить полосу прокрутки, вы можете поместить следующее в ~/.emacs

(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
-2

Я предполагаю, что когда вы открываете emacs -nw emacs даже не удосуживается загрузить scroll-bar.el. вот почему у него возникают проблемы с поиском функции toggle-scroll-bar .
может быть вместо этого, если вы положите
(scroll-bar-mode -1)
наверное работа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .