2014-01-02 2 views
0

Я форматирование строки состояния в моем .emacs файл:Функции в строке состояния

(setq-default mode-line-format 
     '("" mode-line-modified "" 
      mode-line-buffer-identification "-" 
      global-mode-string "" 
      "[" mode-name "." mode-line-process "." minor-mode-alist "" "%n" "]" 
      line-number-mode "-" "L%l" 
      column-number-mode "-" "C%c" 
      "-" "%P" "-" 
      abbreviated-file-name 
      "%-" 
      ) 
     ) 

Я также использую следующее, чтобы показать имя функции в строке состояния:

(add-hook 'c-mode-common-hook 
    (lambda() 
    (which-function-mode t))) 

К сожалению Оба эти фрагмента не могут сосуществовать. Если я сохраню первое форматирование, тогда я не смогу увидеть имя функции.

Есть ли способ переписать выше, чтобы иметь как форматирование, так и имя функции?

ответ

2

Восстановить mode-line-misc-info в вашем режиме линии.

В общем, я был бы очень осторожен удаления данных из строки режима, если не нацеливание очень конкретные частей данных.

i.e. Если вы все еще хотите явно указать global-mode-string, то удалите это из mode-line-misc-info, а не удалите mode-line-misc-info из строки режима!

Редактировать: вышеупомянутое относится к Emacs 24; см. комментарии к предыдущим версиям.

+0

Спасибо за ваш ответ phils. Не могли бы вы рассказать о том, что мне нужно сделать? Должен ли я добавить «mode-line-misc-info» в конец моего кода в режиме линии? – SFbay007

+1

Простейшей задачей было бы заменить «global-mode-string» на 'mode-line-misc-info' (поскольку последний содержит первый, а также быть контейнером, используемым' which-function-mode'. I подумайте, что вам, вероятно, следует рассмотреть стандартный формат 'mode-line' по сравнению с вашим обычным, и убедитесь, что вы не оставляете других полезных компонентов. – phils

+0

Это работало на emacs 24.3.1 Однако при попытке использования более старых emacs (23.3.1) все еще нет имени функции. Будет ли google «mode-line-misc-info», чтобы узнать, было ли оно переименовано в более новые выпуски emacs. – SFbay007

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