웹 모드는 항상 공백으로 들여 쓰기


10

emacs web-mode 를 사용하고 있으며 JS 파일의 탭이 이상하게 작동하는 것 같습니다.

탭이 2 칸 들여 쓰기로 설정되어 있지만 들여 쓰기가 8 칸에 도달하면 웹 모드는 탭을 탭으로 바꾼 다음 다른 8 칸에 도달 할 때까지 2 칸을 계속 탭하여 다른 탭으로 변환합니다.

이 문제가 발생하는 것을 막고 emacs / web-mode에 들여 쓰기 만 할 수 있습니까?

편집하다:

다음은 짧은 중첩 함수 예제입니다.

(function() {
  function() {
    function() {
      function() {
    function() {
      // Indenting problem.
    }
      }
    }
  }
})()

Emacs에서는 분명히 잘 보이지만 여기서 들여 쓰기 문제를 볼 수 있습니다.

나는 이것이 자바 스크립트 모드에서도 발생한다는 것을 주목할 것이다.


1
이것은 웹 모드에만 해당됩니까? 아니면 어디서나 발생합니까?
Malabarba

이것은 웹 모드에서만 발생하며 다른 모든 것은 공백없이 무한정 잘 표시됩니다.
dieuwe

죄송합니다. 자바 스크립트 모드도 마찬가지입니다. 그러나 그것은 단지 그 둘입니다.
dieuwe

어떤 javascript-mode당신은 내장 하나, 사용하고 있습니까? 또한 html을 들여 쓸 때 이런 일이 발생 web-mode합니까?
4

init 파일의 내용을 게시하십시오. Emacs는 기본적으로 8 칸의 공백을위한 탭을 사용하므로 대부분의 모드에서 끄려면 init 파일에 무언가가 있어야합니다.
Gilles 'SO- 악마 그만해

답변:


10

일반적으로 들여 쓰기로 공백 만 사용하려면 다음을 사용자 정의하는 것이 좋습니다.

(setq-default indent-tabs-mode nil)

이것은 들여 쓰기가 공백을 사용하고 탭은 사용하지 않도록합니다. web-mode그래도 들여 쓰기에 일반 방법을 사용 하는지 확실하지 않으므로 이것을 존중하지 않을 수 있습니다.

보여줄 예제 파일을 줄 수 있습니까?


3
질문에 예를 추가했습니다. 를 추가 (setq indent-tabs-mode nil)해도 web-mode및 에서 모두 변경되지 않는 것 같습니다 javascript-mode.
dieuwe

3
버퍼 로컬 setq-default이기 때문에 사용해야한다고 생각합니다 indent-tabs-mode.
nperson325681

@ progo 좋아, 그것은 효과가 있었다. 정말 고맙습니다.
dieuwe

1
탭만 들여 쓸 수 있습니까? 다른 설정을 시도했지만 탭 / 공백이 혼합되어 만 들여 쓰기됩니다.
Dfr

1
@Dfr(setq-default indent-tabs-mode t).emacs
fxbois에

3

웹 모드 들여 쓰기를 강제하려면 emacs 구성 파일에서이 코드를 시도하십시오. 나는 웹 모드 홈페이지에서 그것을 참조했다.

(require 'web-mode)
(defun my-web-mode-hook ()
  "Hooks for Web mode."
  (setq web-mode-markup-indent-offset 2)
)
(add-hook 'web-mode-hook  'my-web-mode-hook)

이것도 효과가 있습니까? (add-hook 'web-mode-hook (lambda () (setq web-mode-markup-indent-offset 2)))
앤드류 라 마라
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.