LINUX.ORG.RU

Конкретный режим буфера или все режимы вообще (minor-режим, например)? В какой режим после отключения надо переключить буфер? Интерактивно или программно?

Zubok ★★★★★
()

Чего-то готового не припомню. Надо лезть смотреть. Вот пример реализации. Просто переводим указанный буфер в fundamental-mode (то есть без режима)

(defun my-buffer-disable-major-modes (buffer)
  (interactive "b")
  (with-current-buffer buffer
    (fundamental-mode)))
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Буфер появляется переодически, как результат работы другого буфера. Там почему-то запущен python-mode из-за чего этот буфер появляется у меня вместе с питоновскими вкладками. Чем меня сильно раздражает.

Нужно отключить python-mode либо еще что-то чтобы я его не видел вместе с питоновскими файлами. Для вкладок используется tabbar.el

Zubchick
() автор топика
Ответ на: комментарий от Zubok

Ручками то я его и просто закрыть могу :) Хочется автоматики. Наверно нужен какой-то хук или еще что-то...

Zubchick
() автор топика
Ответ на: комментарий от Zubchick

>Буфер появляется переодически, как результат работы другого буфера. Там почему-то запущен python-mode из-за чего этот буфер появляется у меня вместе с питоновскими вкладками. Чем меня сильно раздражает.

Ну вот это и надо выяснить, почему включается python-mode? Может, режим включается из-за того, что файл в этом буфере попадает в auto-mode-alist? Что в этом буфере у тебя показывается? Какой файл и с каким расширением?

Zubok ★★★★★
()
Ответ на: комментарий от Zubchick

Также может сработать interpreter-mode-alist.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

буфер называется *IPython Indentation Calculation* Там показывается какой-то обрывок автокомплита. Этот буфер открывает ipython.

Zubchick
() автор топика
Ответ на: комментарий от Zubchick

Глянул в исходники этого ipython. Есть такое. Режим специально включается для этого буфера.

(defvar ipython-indenting-buffer-name "*IPython Indentation Calculation*"
 "Temporary buffer for indenting multiline statement.")

(defun ipython-get-indenting-buffer ()
 "Return a temporary buffer set in python-mode. Create one if necessary."
 (let ((buf (get-buffer-create ipython-indenting-buffer-name)))
   (set-buffer buf)
   (unless (eq major-mode 'python-mode)
     (python-mode))
   buf))
Zubok ★★★★★
()
Ответ на: комментарий от Zubchick

Может быть. тебе убрать 'ipython-indentation-hook из py-shell-hook? Тогда, по идее, этот буфер не будет появляться. Я так понимаю, что из emacs в shell работаешь в python.

Этот буфер находится в python-mode, потому что через этот режим он получает сдвиг когда ты работаешь, а потом копирует из этого буфера в твой shell. Я с этим не работаю вообще — это при первом взгляде на исходники.

Zubok ★★★★★
()
Ответ на: комментарий от Zubchick

И вот еще переменную в nil можно выставить.

(defvar ipython-autoindent t «If non-nil, enable autoindent for IPython shell through python-mode.»)

Но я так понимаю, что это не то, что тебе хотелось бы.

Zubok ★★★★★
()
Ответ на: комментарий от Zubchick

>Буфер появляется переодически, как результат работы другого буфера. Там почему-то запущен python-mode из-за чего этот буфер появляется у меня вместе с питоновскими вкладками. Чем меня сильно раздражает.

Нужно отключить python-mode либо еще что-то чтобы я его не видел вместе с питоновскими файлами. Для вкладок используется tabbar.el

А, пропустил момент. Ты используешь tabbar.el (я не пользуюсь) и тебе мешает этот буфер? Там наверняка есть «черный список» буферов. Глянь. Занеси этот буфер туда.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

ага, как раз щас листал вики по tabbar'у :) Спрятал все служебные буферы. Пасибо.

Zubchick
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.