Як повністю відключити всі автоматичні відступи в Emacs? Мені потрібно відключити його принаймні для основного режиму, але я добре, якщо він буде відключений глобально для поточного сеансу.
Будь ласка, прочитайте решту цього питання, перш ніж оголосити його дублікатом. Усі інші відповіді, які я знайшов, стосуються набагато більш цілеспрямованого відключення відступу. Я дуже хочу повністю відключити всю автоматичну відступ на весь сеанс.
Установка electric-layout-mode
для nil
не працює.
Деталі
Іноді мені подобається складати великі повідомлення Git počin з моїм текстовим редактором Windows ASCII. У цих повідомленнях часто є списки куль, блоки коду чи інші речі, де точне форматування в моєму вихідному документі має сенс. Моя база даних коду є на Linux, і я підключаюся до вікна за допомогою текстового клієнта SSH. Коли Git входить у Emacs для редагування повідомлення про фіксацію, я хочу мати можливість скопіювати повідомлення про фіксацію джерела у буфер обміну Windows, а потім вставити його за допомогою команд вставки Windows. З точки зору Emacs, я набираю те, що було знайдено у текстовому файлі Windows. На жаль, коли Emacs бачить відступні лінії, він додає власне автовідступ, тому я отримую цей величезний трикутник пробілу вздовж лівого краю буфера.
Я використовую GNU Emacs 24.3.1.
Обхід
Моє поточне вирішення проблеми - перенести мій текстовий файл Windows у файлову систему, встановлену моїм хостом Linux, завантажити файл у Emacs, а потім використовувати kill і yank для передачі вмісту. Це трохи незграбно.
Приклад
Ось блок прикладу тексту:
a
- b
c
d
Ось як це виглядає, коли я вставляю його в Emacs-under-ssh через пасту MSWin:
a
- b
c
d
Якщо натискаю, C-h l
роблячи пасту, ось що я бачу. Зауважте, що нові рядки вводяться з використанням C-j
, а не RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
? В основному це говорить "жодним чином не торкайтеся вставленого тексту". Що також включає автоматичне відступ.
hack-local-variables-hook
- для того, щоб по суті скасувати те, що інші основні режими встановлено як частину їх стандартна ініціалізаціяfundamental-mode
це лише невелика функція всерединіsimple.el
- тобто(kill-all-local-variables) (run-mode-hooks)
.M-x find-function RET fundamental-mode RET
- ви можете змінювати / створювати власні за потребою; однак, якщо ви зміните ім'я, воно не використовуватиметься деякими функціями - тому подумайте про те, щоб зберегти те саме ім’я.