Читая аналогичный вопрос в списке рассылки ess-help@r-project.org, я узнал об этом.Когда мы прокручиваем файл noweb, мы переключаем основные режимы с ESS на LaTeX.Большинство основных режимов убивают все локальные переменные как часть их инициализации, поэтому, когда мы просто устанавливаем переменную локально, она перезаписывается.Чтобы решить эту проблему, я изменил найденный хук:
(add-hook 'LaTeX-mode-hook '(lambda () (if (string-match "\\.Rnw\\'" buffer-file-name) (setq fill-column 80))))
Вы можете установить аналогичный хук для longlines-mode или toggle-truncate-lines и т. Д., Чтобы удовлетворить ваши потребности.Недостатком этого решения является то, что вы застряли с одним значением для переменной, установленной в ловушке.