Câu trả lời:
Đây là một mẹo nhỏ trong Sublime Text 2 hoặc 3 để chuyển đổi khoảng cách thụt đầu dòng của bạn trong tài liệu.
TL; DR:
Chuyển đổi từ 2 không gian thành 4 không gian:
Đảm bảo độ rộng của tab được đặt thành 2. Chuyển đổi thụt lề 2 không gian của bạn sang các tab, chuyển sang chiều rộng tab 4 và sau đó chuyển đổi thụt lề trở lại khoảng trắng.
Mô tả chi tiết:
Đi đến:
View -> Indentation
Nó nên đọc:
Indent using spaces [x]
Tab width: 2
Lựa chọn:
Convert Indentation to Tabs
Sau đó chọn:
Tab width: 4
Convert Indentation to Spaces
Làm xong.
Tôi thực sự thấy tốt hơn cho sự tỉnh táo của mình để có các tùy chọn người dùng được xác định như vậy:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Điều detect_indentation: false
này đặc biệt quan trọng, vì nó buộc Sublime tôn vinh các cài đặt này trong mọi tệp, trái ngược với View -> Indentation
cài đặt.
Nếu bạn muốn nhận được sự ưa thích, bạn cũng có thể xác định một phím tắt để tự động thụt lại mã của mình (YMMV) bằng cách dán đoạn mã sau vào Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
và để hình dung khoảng trắng:
"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],
Trong đầu tôi, tôi thấy một giải pháp đơn giản hơn Magne:
Trên máy Mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Trên cửa sổ hoặc các nền tảng khác thay đổi cmd+f
và alt+enter
với bất cứ thứ gì find
và select all
phím nóng của bạn .
Lưu ý: phương pháp này dễ bị "lỗi" nếu bạn có nhiều hơn một khoảng trắng trong mã của mình. Do đó, nó kém an toàn hơn phương pháp của Magne, nhưng nó nhanh hơn (ít nhất là đối với tôi).
RubyFormat
thì bạn có thể chỉ cần đặt kích thước tab mong muốn và sau đó thực hiện định dạng lại mã. Trong trường hợp của RubyFormat
nó sẽ được cmd+shift+R
.
Trong khi nhiều gợi ý hoạt động khi chuyển đổi 2 -> 4 dấu cách. Tôi gặp một số vấn đề khi chuyển đổi 4 -> 2.
Đây là những gì tôi đã kết thúc bằng cách sử dụng:
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" }
]
Nếu bạn thấy tìm kiếm và thay thế nhanh hơn để sử dụng, bạn có thể sử dụng thay thế regex như thế này:
Tìm (regex): (^|\G) {2}
(Thay vì "{2}", <space>{2}
bạn chỉ có thể viết hai khoảng trắng. Được sử dụng ở đây cho rõ ràng.)
Thay thế bằng 4 khoảng trắng, hoặc bất cứ thứ gì bạn muốn, thích \t
.
Bạn phải thêm mã này vào các ràng buộc khóa tùy chỉnh của mình:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
bằng cách nhấn ctrl + f12, nó sẽ giới thiệu lại tệp của bạn thành kích thước tab là 4. nếu bạn muốn có kích thước tab khác, bạn chỉ cần thay đổi số "giá trị". Định dạng Te là một json đơn giản.
{ "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} },
Điều dễ nhất tôi đã làm là,
đã thay đổi thụt lề của tôi thành Tab
và nó đã giải quyết vấn đề của tôi.
Bạn có thể làm như vậy,
đến không gian
cũng như theo nhu cầu của bạn
Đề cập đến ảnh chụp cùng.
Gần đây tôi phải đối mặt với một vấn đề tương tự. Tôi đã sử dụng trình soạn thảo siêu phàm. Đó không phải là vấn đề với mã mà là với trình soạn thảo.
Dưới đây thay đổi trong cài đặt ưu tiên làm việc cho tôi.
Menu văn bản tuyệt vời -> Tùy chọn -> Cài đặt: Cú pháp cụ thể :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}