Идентификация Emacs работает только в терминале (-nw) - PullRequest
0 голосов
/ 26 мая 2011

У меня есть 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 взята из 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 Ответ

0 голосов
/ 27 мая 2011

Сначала проверьте буферы *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 отступать от символов табуляции.

...