Câu trả lời:
js-indent-level
có thể được sử dụng trong chế độ javascript mặc định, được bao gồm theo mặc định bắt đầu trong emacs 23.2.
(setq js-indent-level 2)
nên làm những gì bạn đang tìm kiếm. Nếu bạn đang sử dụng phiên bản emac cũ hơn, bạn có thể đang ở chế độ java. Tôi nghĩ rằng chế độ này đáp ứng c-basic-offset
, tuy nhiên tôi có thể sai.
(defun my-javascript-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'javascript-mode-hook 'my-javascript-mode-hook)
.
js-mode-hook
, như vậy:(defun my-js-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'js-mode-hook 'my-js-mode-hook)
M-x h
từ chế độ js, nhưng không tìm thấy gì ở đó.
Tôi ước ai đó đã nói với tôi về Custom sớm hơn nhiều! Có lẽ điều này sẽ giúp một người bình thường khác như tôi;)
Gọi tùy chỉnh:
M-x customize
Sau đó, chọn "Lập trình", rồi chọn "Ngôn ngữ", rồi chọn một ngôn ngữ / chế độ để tùy chỉnh. Chỉnh sửa các tùy chọn khi bạn thấy phù hợp. Khi hoàn tất, hãy chọn "Lưu cho phiên hiện tại" hoặc "Lưu cho các phiên sau".
Nếu bạn đang sử dụng js2-mode (IMHO mạnh hơn), thì lệnh là:
(setq-default js2-basic-offset 2)
Sử dụng EditorConfig cũng có thể là một ý tưởng hay. Và tất nhiên, Emacs đã có một chế độ cho nó editorconfig-emacs .
Nó cũng có sẵn trong trình quản lý gói ( M-x package-list-packages
) thông qua Melpa hoặc Marmalade.
Không có giải pháp nào trong số này phù hợp với tôi sau khi nâng cấp lên Emacs 26 (tôi đã js-indent-level
đặt thành 2 nhưng chiều rộng tab của tôi quay trở lại 8), nhưng những gì đã làm là đặt tab-width
biến thành 2
, dường như thay thế default-tab-width
biến cũ .
Tôi đã tìm thấy điều này M-x customize
bằng cách tìm kiếm tab width
.