2009-11-13 3 views
3

Я хотел бы иметь, что-функция-режим по умолчанию, когда я открываю Emacs. Я добавил следующие строки в файл .emacs.Emacs Настройка, которая-функция-режим

(setq which-func-mode t) 
(setq which-function-mode t) 

Когда я открываю файл .cpp и перейти к телу функции, я не вижу, имя функции в строке состояния в нижней части, как я должен. Если я затем запустил M-x, который -функция-режим, сообщение отключено «Режим« -функция », поэтому выглядит, что строка в моем файле .emacs занимает, но не совсем работает.

Я устанавливаю неправильную вещь в файле .emacs или что-то еще не так?

ответ

6

К сожалению SETQ не будет работать для этого, так как это функция, а не переменная. Вам нужно либо использовать «customize» для установки переменной, либо вызвать функцию «which-function-mode», передающую значение «t».

«Настройка» - это способ, которым Emacs занимается настройкой функциональности большинства пакетов в настоящее время. Часто выполнение «M-x customize-apropos», за которым следует имя пакета, даст вам большинство параметров конфигурации для этого пакета. Если вы знаете конкретное имя параметра конфигурации, вы также можете использовать «customize-variable» для перехода к этому конкретному параметру. Обратите внимание, что элементы в «customize-variable» не всегда являются переменными per se - часто настраивают вызовы функции или выполняют некоторые другие действия для фактического выполнения конфигурации.

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

M-x customize-variable<RET> 
which-function-mode 

должно дать вам что-то вроде следующего:

alt text

Переключите значение для «на», а затем установить для текущей сессии и сохранить для будущих сессий. Если вам не нравится подгоняет, вы можете просто вызвать функцию из ваших .emacs:

(which-function-mode t) 

Это в Emacs 23, но я считаю, 22 должен быть похож .... Для Emacs 21, я не» t полагают, что настройка была там по умолчанию (это было долгое время, хотя я мог ошибаться), и вам, возможно, придется использовать форму вызова функции.

+0

Спасибо за объяснения, которые помогли. Установка его в моем файле настроек работала нормально. –

5

Возможно, вам понадобится крючок для автоматического поворота which-func-mode при загрузке файла.

Попробуйте что-то вроде:


(add-hook 'c++-mode-hook '(lambda() (which-func-mode t))) 
1

In your init.el or wherever you store your emacs configuration simply place the following line:

(which-function-mode 1)

Он должен работать только для режимов программирования, а также орг режима. Я тестировал только в TXT-файле, чтобы убедиться, что он не появился. Если вам нужна детализация сделать что-то вроде:

(add-hook 'python-mode-hook (lambda() (which-function-mode 1)))

Смежные вопросы