Идентификация Emacs работает только в терминале (-nw)
У меня есть GNU Emacs 23.1.1, на Ubuntu 10.10.
Я должен следующие.emacs:
(custom-set-variables
'(cua-mode t nil (cua-base))
'(inhibit-startup-screen t)
)
(show-paren-mode 1)
(setq show-paren-delay 0)
;; perl mode stuff
(fset 'perl-mode 'cperl-mode)
(setq cperl-indent-level 4
cperl-close-paren-offset -4
cperl-continued-statement-offset 0
cperl-indent-parens-as-block t
cperl-tab-always-indent t
cperl-invalid-face nil
)
Когда я делаю $ emacs -nw
отступ на вкладке работает нормально. Когда я запускаю версию GUI с $ emacs
отступ на вкладке не работает. Я получаю только космический отступ.
Как я могу получить отступ табуляции в графическом интерфейсе?
Cperl Conf был взят из Emacswiki
У меня есть пакеты emacs:
$ dpkg -l | grep emacs
ii emacs 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor (metapackage)
ii emacs-goodies-el 33.6ubuntu1 Miscellaneous add-ons for Emacs
ii emacs-snapshot 1:20090909-1 The GNU Emacs editor (development snapshot)
ii emacs-snapshot-bin-common 1:20090909-1 The GNU Emacs editor's shared, architecture dependent files
ii emacs-snapshot-common 1:20090909-1 The GNU Emacs editor's common infrastructure
ii emacs23 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor (with GTK+ user interface)
ii emacs23-bin-common 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor's shared, architecture dependent files
ii emacs23-common 23.1+1-4ubuntu7.2+maverick1 The GNU Emacs editor's shared, architecture independent infrastructure
ii emacsen-common 1.4.19ubuntu1 Common facilities for all emacsen
РЕДАКТИРОВАТЬ: Извините, но я только заметил, что я не изучил поведение правильно. И в gui, и в -nw, когда я редактирую файл с отступом во вкладках, он использует вкладки, тогда как когда я редактирую новый файл, он ставит отступы с пробелами.
1 ответ
Во-первых, проверьте *Messages*
а также *Warnings*
буферы при запуске. Там может быть намек на то, что там происходит. Особенно, *Messages*
должен перечислить все файлы запуска, которые загружает emacs; в Ubuntu это будет включать файлы в /etc/emacs
а также ваш .emacs
,
Если это не поможет, попробуйте запустить ваш.emacs в интерактивном режиме в отладчике emacs. Начните Emacs с emacs -nw -q
и загрузите.emacs в буфер. Запустите Mx edebug-all-forms, затем запустите Mx eval-buffer. Нажмите пробел несколько раз, чтобы пройти файл.
Изменить: проверить значение indent-tabs-mode
в буфере Perl в обеих ваших средах. Это используется для управления отступом символов табуляции или пробелов. Добавление (setq-default indent-tabs-mode t)
должен заставить emacs отступать от символов табуляции.