

FreeBSD で Emacs 25.2.1 を使っているのですが、fundamental-mode において  
タブをそのままタブとして入力させたいのですが、設定方法を教えてください。

今は、スペースになったり、直前行のインデントを継続しようとしたりしており、  
これを無効化したいです。

.emacs に (electric-indent-mode -1) を書きましたがうまくいっておりません。  
よろしくお願いいたします。


CC BY-SA 3.0
2017-09-22T11:24:18.953
38118
2017-09-22T22:52:05.227
25519
question
emacs
Emacs でタブをそのままタブとして入力したい


`C-q` (`M-x quoted-insert`) を利用すれば、その次のキー入力をそのままバッファに挿入することができます。タブ入力なら `C-q
<TAB>` ですね。

TAB キーをタブ入力として扱いたい場合は `.emacs` (または `~/.emacs.d/init.el`)
に以下の設定を追加してください。ただし、すべてのメジャーモードで有効になるため意図する挙動ではないかもしれません。

[code]

    ;; タブインデントを有効にする
    (setq-default indent-tabs-mode t)
    
    ;; 仮にテキストモード限定で有効にしたいのならば、こういう書き方ができる
    (add-hook 'text-mode-hook (lambda () (setq indent-tabs-mode t)))
    
[/code]

※ fundamental-mode
は他のメジャーモードとは扱いが異なるため、このモード限定で設定を書き換えるのは若干面倒です。コメントで需要があれば追記します。


CC BY-SA 3.0
2017-09-22T16:22:28.847
38129
2017-09-22T16:22:28.847
2391
38118
answer


別解として `defadvice` を使う方法などを。

[code]

    (defadvice fundamental-mode (after insert-tab-char-as-is activate)
      (local-set-key (kbd "TAB") (lambda () (interactive) (insert ?\t))))
    
[/code]


CC BY-SA 3.0
2017-09-22T22:52:05.227
38130
2017-09-22T22:52:05.227
38118
answer