2015-02-26 3 views
1

Это беспокоит меня, что крючок я должен проверить, чтобы не допустить этого (что делает Makefile неудачу)Моя Emacs вкладка подставим в пробелы автоматически

+1

Если вы редактируете файл makefile в makefile-режиме (который является значением по умолчанию), то он не должен этого делать. Если это все еще происходит, то это то, что вы включили в ваш init-файл emacs ... мы понятия не имеем, что вы могли бы настроить в своем файле инициализации, поэтому мы не можем помочь. Если вы запустите 'emacs -q', то отредактируйте файл makefile, который он все еще конвертирует? – MadScientist

+0

Да, makefile-mode включен, когда я редактирую. Проводная вещь заключается в том, что мои emacs «иногда» выполняют подстановку, я предполагаю, что произошло, что какой-то крючок включает команду tab-to-whitespace. – user1961679

ответ

0

Поместите это в вашем файле инициализации:

(setq-default indent-tabs-mode nil) 

По умолчанию эта опция не равна нулю, а это означает, что Emacs использует символы TAB, когда это возможно, вместо простых символов SPC.


Update после Вашего комментария:

Может быть, у вас есть этот код в ваш файл инициализации, но я подозреваю, что другой код, который вы также используете (например, загрузку или автозагрузку) устанавливает значение не -нибудь в вашем буфере makefile.

Это легко проверить: в этом буфере, C-h v indent-tabs-mode.

Если значение не равно нулю, тогда проверьте код, который вы вызываете, чтобы настроить буфер makefile - makefile-mode или какой-либо код, устанавливающий буфер. Готов поспорить, что это твоя проблема.

Помните: setq-default устанавливает по умолчанию значение , которое является значением переменной будет в любом буфере, если вы установите (локальное) значение для чего-то еще в этом буфере. Что-то устанавливает значение не-nil в этом буфере - это мое предположение. Это нужно для того, чтобы найти что-то.

Если вы не можете найти его, проверив код, который устанавливает буфер makefile, затем разделите его файл инициализации (и, если необходимо, файлы, он загружается) рекурсивно, чтобы найти виновника.

+0

@ user1961679 Поиск/grep для 'untabify' в вашем emacs init. Вызывается ли он каким-то крюком, который запускается во время сохранения файла, например 'before-save-hook'? –

+0

@kaushalmodi a 'C-h v', чтобы увидеть значение before-save-hook var (очистка пробелов), эта функция довольно длинная, делает ли она непривязанной? – user1961679

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