emacs javascript 모드에서 들여 쓰기 너비를 변경하는 방법


120

들여 쓰기에 4 개 대신 2 개의 공백을 사용하고 싶습니다. 다음을 사용하여 C 모드의 기본 동작을 변경할 수 있습니다.

(setq c-basic-offset 2)

자바 스크립트 모드에서 어떻게 변경합니까?

답변:


198

js-indent-level emacs 23.2부터 기본적으로 포함 된 기본 javascript-mode에서 사용할 수 있습니다.

(setq js-indent-level 2)

당신이 찾고있는 것을해야합니다. 이전 버전의 emacs를 사용하는 경우 Java 모드 일 수 있습니다. 이 모드는에 응답한다고 생각 c-basic-offset하지만 틀릴 수 있습니다.


2
(setq default-tab-width 2)는 자바 모드에 해당하는 탭 너비 설정자입니다.
Fergie

이 메커니즘을 사용하면 탭 너비가 8로 유지되므로 들여 쓰기 수준이 4 (2x4 = 8) 이상인 경우에만 탭이 사용됩니다. 공백 대신 탭이 사용되도록 탭 너비를 2 또는 4로 설정하는 방법은 무엇입니까? 예를 들어 (setq tab-width 4) 설정을 시도했지만 아무 소용이 없습니다. 내 목표는 탭 너비 4를 사용하고 탭 문자 만 사용합니다 (대체로 공백이 아님).
JDP

jdp : (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).
phils

사용하다 js-mode-hook(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)
같이을

6
문서화되어 있습니까? stackoverflow없이이 정보를 찾는 방법이 있었습니까? M-x hjs 모드에서 들여다 보았지만 아무것도 찾을 수 없었습니다.
Charles Holbrow

75

누군가가 Custom에 대해 더 빨리 말해줬으면 좋겠어요! 아마도 이것은 나 같은 다른 인간을 도울 것입니다.)

사용자 정의 호출 :

M-x customize

그런 다음 "프로그래밍", "언어"를 차례로 선택한 다음 사용자 지정할 언어 / 모드를 선택합니다. 원하는대로 옵션을 편집하십시오. 완료되면 "현재 세션 용으로 저장"또는 "향후 세션 용으로 저장"을 선택합니다.


17

js2-mode (보다 강력한 IMHO)를 사용하는 경우 명령은 다음과 같습니다.

(setq-default js2-basic-offset 2)

출처.


11

탭 대신 공백을 사용하도록 emacs를 설정할 수도 있습니다.

(setq-default indent-tabs-mode nil)

이것은 실제 답변보다 더 많은 의견입니다. 댓글을 달 수 있도록 더 많은 평판을 얻으십시오.
jcubic 2014-06-04

2

내 javascript.el 파일 (/ usr / share / emacs / site-lisp)에서

자바 스크립트 들여 쓰기 수준 4

따라서 동일한 lisp 모드를 사용하는 경우 다음을 실행하여 변경할 수 있습니다.

(setq javascript-indent-level 2)

2

당신은 또한 사용할 수 있습니다

M-x customize-variable

및 유형

js-indent-level

( js-[TAB]은 옵션 목록을 표시합니다). 그런 다음 Js Indent Level원하는대로 변경 하고 클릭 [State:]하고 저장합니다.


2

EditorConfig를 사용 하는 것도 좋은 생각 일 수 있습니다. 그리고 물론 Emacs는 그것을위한 모드를 가지고 있습니다. editorconfig-emacs .

M-x package-list-packagesMelpa 또는 Marmalade를 통해 패키지 관리자 ( ) 에서도 사용할 수 있습니다 .


2

파일별로 변경하려면 다음을 파일 맨 위에 놓으십시오.

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

0

이 솔루션 중 어느 것도 Emacs 26으로 업그레이드 한 후 저에게 효과가 js-indent-level없었지만 (이미 2로 설정했지만 탭 너비가 8로 돌아갔습니다), 작업 한 것은 이전 변수 를 대체하는 것처럼 보이는 tab-width변수를 로 설정 2하는 것 default-tab-width입니다.

을 ( M-x customize를) 검색하여 에서 찾았 습니다 tab width.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.