Вставить вкладку вкладок в Emacs

У меня очень простая вещь, которую я хочу сделать в Emacs. Я хочу установить его так, чтобы, когда я нажимаю клавишу TAB, он вставляет два пробела. Просто это. Это все, что я прошу. Я пробовал делать это уже пару лет, и это просто невозможно. В каждом типе файла он взрывается по-другому. HTML-файл? Случайный выбор между получением четырех пробелов или табулированием до предыдущего отступа строки. Файл Python? Всего четыре пробела, и я проигнорирую любые настройки, которые у вас есть. Он также случайно перестает работать в зависимости от фазы луны, когда он ранее работал.

В моих .emacs:

(setq indent-tabs-mode nil) (setq tab-width 2) 

Это должно работать, не так ли? Нет. Нет, нет. Кажется, у emacs есть волшебный «файловый режим» для каждого расширения, который полностью переопределяет то, что я ему рассказываю. Так я должен найти эту волшебную конфигурацию феи и переопределить ее для каждого типа файла? Что я могу сделать, чтобы заставить эту простую работу работать. Halp.

  • Как получить emacs на недавно установленной системе Fedora 20?
  • Автоматическое шифрование Emacs и gpg
  • Как установить emacs 24.3 на Fedora 17 с помощью yum?
  • Emacs не откроется в графическом режиме в gnome
  • Как войти в режим Erlang в Emacs?
  • Emacs автоматически добавляет спецификацию в файл XML
  • emacs копировать и вставлять
  • Можно ли получить доступ к открытому сеансу терминала gnome в текстовой консоли?
  • One Solution collect form web for “Вставить вкладку вкладок в Emacs”

    Каждый язык имеет свое собственное соглашение об отступлении, поэтому не всегда полезно иметь тот же эффект от легкодоступной клавиши Tab все время. Вот почему многие основные режимы ¹ перекрывают привязку ключа.

    Чтобы переопределить настройку для определенного режима, привяжите его в своей раскладке.

     (defun insert-two-spaces (&optional count) (interactive "*p") (insert (make-string (* 2 count) ?\ ))) (add-hook 'python-mode-hook '(local-set-key "\t" 'insert-two-spaces)) 

    Чтобы переопределить настройку повсюду, вы можете определить постоянный второстепенный режим . См. Руководство Elisp для определения второстепенного режима.

     (define-minor-mode magnus-minor-mode "Override the binding of the TAB key." :keymap '(([?\t] . insert-two-spaces)) :global t) (magnus-minor-mode 1) 

    ¹ То, что вы называете «магическим файловым файловым режимом», является основным режимом. Если вам не нравится редактор, который делает все автоматически, я предлагаю nano .

    Interesting Posts

    Замените пробелы в начале строки на "-"

    Второй модуль RAM не отображается в `free` в Manjaro

    Настройка шлюза в centos 7

    Доступ к передаче закрыт

    сценарий резервного копирования, чтобы исключить некоторые родительские директории и включить некоторые дочерние директории

    Советы по использованию Linux без раздела подкачки

    Изменение текущего каталога с помощью скрипта (ksh)

    Как стереть SSD SSD

    Сценарий оболочки для уведомления BackupPC не работает

    Проверьте, имеет ли секретный ключ SSH защиту паролем

    Является ли файловая система журналов хорошей идеей с зашифрованным диском dm-crypt?

    создать прослушивающий порт на IPV6 БЕЗ netcat

    Как я могу запретить Linux Mint автоматически реагировать на подключенный внешний монитор и пытаться изменить настройки отображения?

    Убедитесь, что клиент torrent использует openvpn

    SELinux не позволяет oddjobd-mkhomedir создавать пользовательский домашний каталог в нестандартном месте

    Linux и Unix - лучшая ОС в мире.