JavaScriptでEmacsの自動インデントを3時間無効にしようとしましたが、(良い)解決策が見つかりませんでした。
私のEmacsバージョンは23.3.1(i486-pc-linux-gnu、GTK +バージョン2.24.3)で、少なくともそれはそう言っています。これは、GUIのDebian Linux(Wheezy)の標準パッケージです。
私は emacs javascript auto indentation (およびその他)を見つけましたが、自動インデントを削除するためだけに別のモードをインストールしたくありませんでした(そしてそれが機能する保証はありません)、基本モードは構文の強調表示を無効にしますさて、私が保持したいのですが、Cc Clは何もしません、javascript-auto-indent-flag
をnil
に設定しても何もしません。
正確に必要なもの:Tabキーを押した場合にのみ、タブを挿入します。 「if」部分は機能しますが、「onlyif」部分は機能しません。なんでそんなに難しいのかしら?
EmacsのJavascriptモードでは、文字}
は関数js-insert-and-indent
にバインドされています。このコードを.emacs
スタートアップファイルに挿入することで、バインドして自分自身を挿入することができます。
(defun my-js-mode-hook ()
"My personal Javascript mode hook."
(local-set-key (kbd "TAB") 'tab-to-tab-stop)
(local-set-key (kbd "RET") '(lambda () (interactive) (newline 1)))
(local-set-key (kbd "SPC") 'self-insert)
(local-set-key (kbd "}") 'self-insert))
(add-hook 'js-mode-hook 'my-js-mode-hook)
emacsを再起動します。そのような他の文字を見つけた場合は、フック関数のlocal-set-key
にさらに呼び出しを追加し、それぞれがkbd
関数に異なる文字を渡すことができます。