답변:
Sublime Text 2 또는 3에는 문서의 들여 쓰기 간격을 변환하는 깔끔한 트릭이 있습니다.
TL; DR :
2 개의 공백에서 4 개의 공백으로 변환 :
탭 너비가 2로 설정되어 있는지 확인하십시오. 2 칸 들여 쓰기를 탭으로 변환하고 탭 너비 4로 전환 한 다음 들여 쓰기를 다시 공백으로 변환하십시오.
자세한 설명 :
이동 :
View -> Indentation
읽어야합니다.
Indent using spaces [x]
Tab width: 2
고르다:
Convert Indentation to Tabs
그런 다음 다음을 선택하십시오.
Tab width: 4
Convert Indentation to Spaces
끝난.
실제로 내 정신이 사용자 환경 설정을 다음과 같이 정의하는 것이 좋습니다.
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
이 detect_indentation: false
는 반대로, 모든 파일에 이러한 설정을 존중 라임을 강제로, 특히 중요 View -> Indentation
설정.
화려하게 만들고 싶다면 다음을 붙여 넣어 코드 (YMMV)를 자동으로 다시 들여 쓰는 키보드 단축키를 정의 할 수도 있습니다 Sublime -> Preferences -> Key Binding - User
.
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
공백을 시각화하려면 다음을 수행하십시오.
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
내 생각에 Magne보다 간단한 솔루션을 찾았습니다.
맥 :
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
창문이나 다른 플랫폼에서 cmd+f
, alt+enter
당신 find
과 select all
핫키가 무엇이든 변경 하십시오 .
참고 :이 방법은 코드 내에 공간이 두 개 이상 있으면 "오류"가 발생하기 쉽습니다. 따라서 Magne의 방법보다 안전하지 않지만 더 빠릅니다 (적어도 나를 위해).
RubyFormat
다음 과 같은 포맷팅 플러그인이있는 경우 원하는 탭 크기를 설정 한 다음 코드를 다시 포맷 할 수 있습니다. 의 경우 RubyFormat
그 것이다 cmd+shift+R
.
2-> 4 공간을 변환 할 때 많은 제안이 작동하지만. 4-> 2를 변환 할 때 몇 가지 문제가 발생했습니다.
내가 사용한 결과는 다음과 같습니다.
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
이 코드를 사용자 정의 키 바인딩에 추가해야합니다.
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
ctrl + f12를 누르면 파일이 탭 크기 4로 다시 들여 쓰기됩니다. 다른 탭 크기를 원하면 "값"숫자 만 변경하면됩니다. 테 형식은 간단한 JSON입니다.
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },