2010-11-14 43 views

Trả lời

157

js-indent-level có thể được sử dụng ở 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 cũ hơn của các emac, bạn có thể đang ở chế độ java. Tôi nghĩ rằng chế độ này phản hồi với c-basic-offset, tuy nhiên tôi có thể sai.

+0

Perfect. Cảm ơn đã phản ứng nhanh chóng. – mksuth

+2

(setq default-tab-width 2) sẽ là tab setter chiều rộng tương ứng cho java-mode – Fergie

+0

Sử dụng cơ chế này độ rộng tab vẫn ở 8 và vì vậy các tab chỉ được sử dụng nếu mức thụt lề là 4 (2x4 = 8) hoặc cao hơn. Làm cách nào để đặt độ rộng của tab thành 2 hoặc 4 để các tab thay vì khoảng trắng được sử dụng? Tôi đã thử một loạt các cài đặt, ví dụ: (setq tab-width 4) nhưng không có kết quả. Mục tiêu của tôi: sử dụng độ rộng của tab 4 và chỉ sử dụng các ký tự tab (không phải là dấu cách để thay thế). – jdp

58

Tôi muốn ai đó đã nói với tôi về Tuỳ chỉnh sớm hơn rất nhiều! Có lẽ điều này sẽ giúp đơn thuần khác chết như tôi;)

Invoke tùy chỉnh:

M-x customize 

Sau đó, chọn "Lập trình", và sau đó "Ngôn ngữ", và sau đó chọn ngôn ngữ/phương thức để tùy chỉnh. Chỉnh sửa các tùy chọn như bạn thấy phù hợp. Khi hoàn tất, chọn "Lưu cho phiên hiện tại" hoặc "Lưu cho các phiên trong tương lai".

+2

Điều này thật tuyệt vời. Tôi đã sử dụng emacs trong 5 năm mà không gặp phải điều này. Cảm ơn sooo nhiều! – zachaysan

+1

Cảm ơn @wprl! --- _a mortal_ – daveagp

+1

Điều này thật tuyệt vời! –

2

Trong file javascript.el tôi (/ usr/share/emacs/site-lisp) tôi thấy

javascript-indent cấp 4

Vì vậy, nếu bạn đang sử dụng cùng một lisp-mode bạn có thể thay đổi nó bằng cách chạy

(setq javascript-indent-level 2) 
11

Bạn cũng có thể muốn đặt emacs sử dụng không gian thay vì tab

(setq-default indent-tabs-mode nil) 
+0

Đây là một bình luận nhiều hơn sau đó câu trả lời thực tế. Kiếm thêm danh tiếng để có thể nhận xét. – jcubic

13

Nếu bạn đang sử dụng js2-mode (đó là IMHO mạnh hơn), sau đó lệnh này là:

(setq-default js2-basic-offset 2) 

Source.

2

Bạn cũng có thể sử dụng

M-x customize-variable 

và gõ

js-indent-level 

(js- [TAB] hiển thị danh sách tùy chọn). Sau đó, thay đổi Js Indent Level như muốn và nhấp vào [State:] và lưu.

0

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.

1

Nếu bạn muốn thay đổi nó trên một cơ sở cho mỗi tập tin, đặt này ở phía trên cùng của tập tin của bạn:

// -*- mode: js; js-indent-level: 2; -*- 
Các vấn đề liên quan