web-dev-qa-db-ja.com

emacs JavaScriptモードでインデント幅を変更する方法

4ではなく2つのスペースをインデントに使用したいのですが、次を使用してCモードのデフォルトの動作を変更できます。

(setq c-basic-offset 2)

Javascriptモードでこれを変更するにはどうすればよいですか?

113
mksuth

js-indent-levelは、デフォルトのemacs 23.2以降に含まれるデフォルトのjavascript-modeで使用できます。

(setq js-indent-level 2)

あなたが探していることをするべきです。 emacsの古いバージョンを使用している場合、Javaモードになっている可能性があります。このモードはc-basic-offset、しかし、私は間違っているかもしれません。

190

誰かがもっと早くカスタムについて教えてくれたらいいのにと思います!おそらくこれは私のような別の単なる人間を助けるでしょう;)

カスタムを呼び出す:

M-x customize

次に、[プログラミング]、[言語]の順に選択し、カスタマイズする言語/モードを選択します。必要に応じてオプションを編集します。完了したら、「現在のセッション用に保存」または「今後のセッション用に保存」を選択します。

71
wprl

Js2-mode(より強力なIMHO)を使用している場合、コマンドは次のとおりです。

(setq-default js2-basic-offset 2)

ソース

14
metakermit

タブの代わりにスペースを使用するようにemacsを設定することもできます

(setq-default indent-tabs-mode nil)
11
Tyler

ファイルごとに変更する場合は、これをファイルの先頭に配置します。

// -*- mode: js; js-indent-level: 2; -*-
2
MatthewD

私のjavascript.elファイル(/ usr/share/emacs/site-LISP)で見つけた

javascript-indent-level 4

したがって、同じLISPモードを使用している場合は、次を実行して変更できます。

(setq javascript-indent-level 2)
2
Helge

使用することもできます

M-x customize-variable

そしてタイプ

js-indent-level

js- [TAB]はオプションのリストを表示します)。次に、Js Indent Level必要に応じて[State:]そして保存します。

2
kwarnke

EditorConfig を使用することも良い考えです。そしてもちろん、Emacsにはモードがありました editorconfig-emacs

パッケージマネージャー(M-x package-list-packages)メルパまたはマーマレード経由。

1
hs0ucy

Emacs 26にアップグレードした後、これらのソリューションはどれも機能しませんでした(js-indent-levelを2に設定済みでしたが、タブ幅が8に戻りました)が、tab-width変数を2は、古いdefault-tab-width変数を置き換えるようです。

M-x customizeを検索して、tab widthでこれを見つけました。

0
Malvineous