Làm cách nào để thay thế bốn khoảng trắng bằng một tab trong Sublime Text 2?


310

nhập mô tả hình ảnh ở đây

Tôi muốn thay thế tất cả "bốn khoảng trắng" được viết bởi một trình soạn thảo văn bản khác bằng các tab. Tôi làm nó như thế nào?

Câu trả lời:


639

Góc dưới bên phải trên thanh trạng thái, nhấp Spaces: N(hoặc Tab Width: N, trong đó N là số nguyên), đảm bảo nó nói Tab Width: 4để chuyển đổi từ bốn khoảng trắng, sau đó chọn Convert Indentation to Tabstừ menu ngữ cảnh sẽ xuất hiện từ nhấp chuột ban đầu.

Tương tự, nếu bạn muốn làm ngược lại, nhấp vào Spaceshoặc Tab Widthvăn bản trên thanh trạng thái và chọn từ cùng một menu.

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây


3
Trong khi tất cả các câu trả lời đều đúng thì đây là câu trả lời dễ nhất! Cảm ơn
Mohsen

1
Phải thừa nhận; đó là :) Không bao giờ sử dụng các menu ngữ cảnh của thanh trạng thái, đoán tôi luôn nghĩ rằng chúng là các chỉ báo tĩnh.
Ekin Koc

2
Chúng không nổi bật như có lẽ, tôi có một vài lỗi tôi phải nộp cho cao siêu không có nút chặn hiển thị. Biên tập viên xuất sắc.
ncremins

Bạn cũng có thể sử dụng các cài đặt trong tệp dự án siêu phàm nếu bạn muốn trình soạn thảo ghi nhớ cài đặt này cho tất cả các tệp trong một dự án
Michael

1
@phreakhead Tôi không chắc là tôi có hiểu đầy đủ nhu cầu của bạn không (xem xét mở một câu hỏi mới?), nhưng nếu bạn đã dịch transl_tabs_to_spaces thành false, thì khi bạn nhập (văn bản mới) và bạn nhấn tab, đó sẽ là một ký tự tab . nếu bạn có một tệp đã có một số vết lõm như 4 không gian (thay vì các tab), bạn có thể sử dụng tùy chọn ở dưới cùng của menu trong ảnh chụp màn hình để chuyển đổi thụt lề sang các tab.
Michael

106

Chọn tất cả, sau đó:

Windows / Linux:

Ctrl+ Shift+p

sau đó gõ "thụt"


Mac:

Shift+ Command+p

sau đó gõ "thụt"


Đây là cách nhanh nhất trong khi giữ tay trên bàn phím. +1
eduncan911

Thật tuyệt vời ... điều này cung cấp cho bạn tùy chọn "Reindent Lines" từ các tệp như Bootstrap đi kèm với thụt 2 dòng
Shina

Tôi nghĩ rằng điều này không làm chính xác những gì anh ấy yêu cầu. Điều này cũng nhắc lại các dòng để nó thực sự thay đổi thụt lề và anh ta chỉ hỏi về việc chuyển đổi khoảng trắng thành các tab. Dù sao đó là một câu trả lời tốt nhưng trong một số trường hợp, nó có thể gây ra sự thụt lề của bạn (ví dụ như nghĩ về các mẫu thụt lưỡi).
Sergi Ramón

Điều này là tốt hơn vì nó hoạt động tuyệt vời với sao chép mã dán.
SaurabhM

45

Để định cấu hình Sublime để luôn sử dụng các tab, hãy thử thêm phần sau vào tùy chọn-> settings-user:

{
    "tab_size": 4,
    "translate_tabs_to_spaces": false
}

Thêm thông tin tại đây: http://www.sublimetext.com/docs/2/indentation.html


5
Đây là câu trả lời đúng, bởi vì ngay cả sau khi chọn "thụt lề sử dụng dấu cách", tùy chọn đó sẽ được đặt lại khi khởi động lại.
mvd

1
OP yêu cầu ngược lại. Thật kỳ lạ, không có một lựa chọn cho. Tab ghét.
phreakhead

26

Trên menu chính;

View -> Indentation -> Convert Indentation to Tabs / Spaces


9

Thực hiện một regex "Tìm kiếm" cho \t(backslash-t, một tab) và thay thế bằng bốn khoảng trắng.

Menu chính hoặc menu khoảng cách thanh trạng thái bên phải thấp hơn cũng làm điều tương tự, với ít công việc hơn.


3
Đây là nghịch đảo của những gì người đăng yêu cầu
Max Nanasy

3
@MaxNanasy Vậy là xong. Tôi đoán rằng tôi không thích các nhân vật tab quá sâu trong tiềm thức.
Dave Newton

2
Câu trả lời này hoàn toàn không liên quan đến câu hỏi đang được hỏi. Vui lòng xem xét thay đổi nó thành câu trả lời chính xác hoặc xóa câu trả lời của bạn.
Randy the Dev

2
@AndrewDunn "Hoàn toàn"? Có thật không? Làm thế nào nghịch đảo của một cái gì đó "hoàn toàn" không liên quan? Theo định nghĩa, nó liên quan và sửa chữa là rõ ràng. Giá như chúng ta có khả năng chỉnh sửa câu trả lời.
Dave Newton

6

tạo ra một keybinding để nhanh nhất

{ "keys": ["super+alt+t"], "command": "unexpand_tabs", "args": { "set_translate_tabs": true } }

thêm phần này vào Preferences> Key Bindings (người dùng) khi bạn nhấn super+ alt+ tnó sẽ chuyển đổi khoảng trắng thành các tab


2

Bạn có thể thêm ràng buộc khóa dễ dàng:

Tùy chọn> Ràng buộc chính - người dùng:

[
    { "keys": ["super+l"], "command": "reindent"},
]

Bây giờ chọn dòng hoặc tệp và nhấn: lệnh + l


0

Nếu bạn muốn áp dụng đệ quy thay đổi này cho tất cả các tệp trong một directoy, bạn có thể sử dụng phương thức Tìm> Tìm trong Tệp ...

Tìm trong chế độ tập tin

Chỉnh sửa Tôi không làm nổi bật nó trong hình ảnh, nhưng bạn phải nhấp vào nút. * Ở bên trái để Sublime diễn giải trường Tìm dưới dạng regex / Chỉnh sửa

Chỉnh sửa 2 Tôi đã bỏ qua để thêm một bắt đầu neo chuỗi vào regex. Tôi đang sửa lỗi bên dưới và sẽ cập nhật hình ảnh khi tôi có cơ hội / Chỉnh sửa

Regex trong trường Tìm ^[^\S\t\n\r]{4}sẽ khớp các ký tự khoảng trắng theo nhóm 4 (không bao gồm các tab và ký tự dòng mới). Trường thay thế \tcho biết bạn muốn thay thế chúng bằng các tab.

Nếu bạn nhấp vào nút ở bên phải trường Trường hợp, bạn sẽ thấy các tùy chọn sẽ giúp bạn nhắm mục tiêu tìm kiếm của mình, thay thế. Add Foldertùy chọn sẽ cho phép bạn chọn thư mục bạn muốn tìm kiếm đệ quy từ đó. Các Add Include Filtertùy chọn sẽ cho phép bạn giới hạn việc tìm kiếm các tập tin của một phần mở rộng nhất định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.