Chuyển đổi các tab thành khoảng trắng trong Notepad ++


1077

Làm cách nào để chuyển đổi các tab thành khoảng trắng trong Notepad ++?

Tôi đã tìm thấy một trang web gợi ý rằng nó có thể, nhưng tôi không thể tìm thấy bất kỳ thông tin nào về cách thực hiện.

Tôi muốn có thể làm điều đó, bởi vì một số biểu mẫu web không tôn trọng mã với các tab trong đó.


4
Tab thụt lề = 1x ký tự, Không gian thụt lề = hơn 3 ký tự.
Yousha Aleayoub

SciTE làm điều này khá dễ dàng. Quá tệ, nó không mở rộng cũng như Notepad ++.
bvj

1
Tôi dường như đã vào Khu vực hoàng hôn. Notepad ++ của tôi luôn có ba khoảng cách mỗi tab và không có gì tôi cập nhật trong IDE đã thay đổi hành vi. Tôi đã sử dụng nó trong nhiều năm và chưa bao giờ gặp phải vấn đề này trước o_o. Ngay cả việc chấm điểm cũng không loại bỏ được vấn đề. Vậy Tôi đang gọi nó. Tính năng Twilight Zone.
kayleeFrye_onDeck

@YoushaAleayoub 1 dấu cách = 1 dấu cách, 1 tab = khác nhau cho mọi người.
csabinho

3
@csabinho đó là điểm chính. Vì vậy, mọi người có thể tùy chỉnh nó và đặt nó theo kích thước của riêng họ. #Freedom :)
Yousha Aleayoub

Câu trả lời:


989

Để chuyển đổi các tab hiện có sang không gian, nhấn Edit->Blank Operations->TAB to Space.

Nếu trong tương lai bạn muốn nhập khoảng trắng thay vì tab khi bạn nhấn phím tab:

  1. Chuyển đến Settings->Preferences...->Language(kể từ phiên bản 7.1) hoặc Settings->Preferences...->Tab Settings(phiên bản trước)
  2. Kiểm tra Replace by space
  3. ( Tùy chọn ) Bạn có thể đặt số lượng khoảng trắng sẽ sử dụng thay cho Tab bằng cách thay đổi Tab sizetrường.

Ảnh chụp màn hình của Thay thế bằng không gian


29
@Algina - bạn có thể thay đổi cài đặt cho Notepad ++ để tự động chuyển đổi các tab thành dấu cách - chỉ cần truy cập: Cài đặt - Tùy chọn - Cài đặt tab - đánh dấu vào ô "Thay thế bằng dấu cách" - như mrzli đã mô tả trong câu trả lời này.
màu

3
Điều này bị ảnh hưởng bởi kích thước tab được xác định trong "Cài đặt" - "Tùy chọn" - "Cài đặt tab" - "Kích thước tab", một cách tự nhiên.
caw

6
Tôi chỉ muốn thêm rằng đường dẫn cho tôi là: Settings=> Language Menu/Tab Settings=> Replace by space(Ở góc dưới bên phải). Nó gần như như mrzli đã nói, nhưng tôi đã có một thời gian khó khăn để nhận ra nơi nó nói Tab Settings. (Tôi biết tôi bị mù!)
Dzyann

11
Không có Cài đặt -> Tùy chọn ... -> Cài đặt tab trong Notepad ++ v7.1 Hiện tại trong Cài đặt -> Tùy chọn -> Ngôn ngữ
Dave Burton

3
Tôi đang sử dụng v7.2.2 và tôi có thể thay đổi các tab thành không gian bằng cách sử dụng Edit -> Blank Operations -> Tab to Space. Ngoài ra Tab Settingshiện đang ở Edit -> Preferences -> Language. Mặc dù, tôi không hiểu những gì Tab Settingsnó làm. Tôi đã kiểm tra Replace by spacehộp javascript, nhưng tôi vẫn nhận được một tab khi nhấn phím tab. Không nên in 4 dấu cách thay thế?
akinuri

585

Lỗi thời: Câu trả lời này chỉ đúng với phiên bản cũ hơn của Notepad ++. Chuyển đổi giữa các tab / dấu cách hiện được tích hợp vào Notepad ++ và plugin TextFX không còn có sẵn trong hộp thoại Trình quản lý plugin.

  • Đầu tiên đặt cài đặt "thay thế bằng dấu cách" trong Preferences -> Language Menu/Tab Settings.
  • Tiếp theo, mở tài liệu bạn muốn thay thế các tab bằng.
  • Đánh dấu tất cả các văn bản ( CTRL+ A).
  • Sau đó chọn TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Lưu ý: Đảm bảo plugin TextFX character được cài đặt ( Plugins -> Plugin manager -> Show plugin manager, Installedtab). Nếu không, sẽ không có menu TextFX.


1
Có, điều này hợp lý hơn nhiều so với thực hiện tìm kiếm / thay thế và TextFX được tích hợp sẵn trong Notepad ++.
rjh

130
Chỉ là một tính năng được đặt tên kém trong một menu được đặt kém.
spoulson

14
Câu trả lời tốt nhất cho câu hỏi (có lẽ không như tác giả dự định) là các tab để không gian plugin được cung cấp dưới đây. Câu hỏi yêu cầu tất cả các tab thành không gian, trong khi câu trả lời này chỉ chuyển đổi không gian hàng đầu . Ví dụ, nếu bạn cần chuyển đổi dữ liệu dạng bảng cách nhau bằng các tab trong khi duy trì vị trí cột, câu trả lời này sẽ không giúp bạn. Plugin là giải pháp Notepad ++ duy nhất cho câu hỏi mà tôi có thể thấy ở đây.
Nhị phân Phile

4
Tôi cần phải đi vào trình quản lý plugin và cài đặt plugin TextFX, nhưng sau khi tôi có hướng dẫn này, các hướng dẫn còn lại đều ổn.
Rebecca Chernoff

12
Trả lời mà dường như là sai. Vì Binary Phile chỉ ra rằng nó chỉ chuyển đổi các tab hàng đầu. Trong các phiên bản sau này cũng có tùy chọn Chỉnh sửa -> Thao tác trống -> TAB vào không gian, nhưng điều đó cũng không hoạt động như yêu cầu. Theo như tôi thấy thì hiện tại không có cách nào trong NP ++. Chưa thử plugin Binary Phile đề cập.
Stijn de Witt

228

Cài đặt ->Tùy chọn ->Chỉnh sửa Thành phần (tab) ->Tab Cài đặt (nhóm) ->Thay thế bằng khoảng trắng

Trong phiên bản 5.6.8 (trở lên):

Cài đặt ->Tùy chọn ... ->Menu Ngôn ngữ / Tab Cài đặt ->Tab Cài đặt (nhóm) ->Thay thế bằng dấu cách


Cảm ơn vi đa trả lơi. Tôi đã hy vọng có một cách để áp dụng nó vào một khối văn bản được tô sáng. Tôi thích làm việc với các tab. Tôi chỉ muốn có thể chuyển sang khoảng trắng trước khi dán một số mã vào một biểu mẫu.
Helephant

3
Mặc dù câu trả lời của Dror chắc chắn là 'câu trả lời', nhưng điều này chắc chắn cũng hữu ích để biết cho các mục đích sử dụng khác!
Marc Bollinger

Không phải câu trả lời cho câu hỏi mà là câu trả lời mà tôi đang tìm kiếm. Chúc mừng, Aron.
BrezzaP

Ồ Rất nhiều tin đồn về một nhiệm vụ đơn giản (dường như). Thay thế bằng \ t và công tắc mở rộng hoạt động tốt đối với tôi
waanders

3
Phiên bản 5.9.3 có Chỉnh sửa-> Thao tác trống-> TAB vào không gian. Xem câu trả lời của mrzli.
koppor

148

Bạn cần thay thế \t - đảm bảo bạn sử dụng chế độ mở rộng!

Thay thế


22
chỉ cần nhấn mạnh, bạn cần đặt bốn khoảng trắng (hoặc hai hoặc bất cứ thứ gì) vào hộp "thay thế bằng".
hasen

1
bạn có thể thay thế \ t (tab) thành bất kỳ số lượng khoảng trắng nào, xem wiki.answers.com/Q/How_many_spaces_is_a_tab
Dror

7
Điều này sẽ chỉ hoạt động đúng cho các tab khi bắt đầu một dòng. Ví dụ: trong một dòng như thế này (sử dụng [tab] để thể hiện một tab): "[tab] foo [tab] bar", với kích thước tab là 4 khoảng trắng, tab đầu tiên phải là 4 khoảng trắng, nhưng tab thứ hai phải là chỉ có 1 không gian.
Mercator

4
@DaveE Không, trường hợp của Mercator là trường hợp phổ biến về cách TAB hoạt động. Mặc dù được đề cập trong một nhận xét và không phải trong câu hỏi ban đầu, nhưng về cơ bản, OP muốn chuyển đổi từ các tab sang không gian, nghĩa là anh ta không nên biết bằng cách xem xét chuyển đổi, rằng việc chuyển đổi đã được thực hiện. Bằng cách lấy một văn bản đã chọn và mở rộng nó thành bắt đầu các dòng, người ta có thể thực hiện một phép tính và thực hiện chính xác những gì Mercator ngụ ý. Nó chỉ phụ thuộc vào văn bản được mở rộng đến giới hạn dòng. Vì vậy, từng trường hợp quyết định là không cần thiết. Đó chính xác là những gì lệnh mở rộng trong UNIX thực hiện
Paralife

2
Các câu trả lời khác có thể trả lời câu hỏi cụ thể, nhưng tôi nghĩ câu trả lời này là tốt nhất, vì nó trả lời làm thế nào để thay thế tab bằng BẤT CỨ, không chỉ là khoảng trắng.
Kik

84

Thực hiện theo quy trình này để chuyển đổi khoảng trắng sang tab hoặc ngược lại:

Không gian - Tab


1
Có sẵn trong Notepad ++ v6.3.2 và một số phiên bản trước đó.
AdrianHHH

Đối với phiên bản 7.5.4, điều này rất hữu ích đối với tôi, nhận được tất cả các ký tự tab (không chỉ dẫn đầu) mà không cần cài đặt plugin bổ sung
J. Paulding

Có phím tắt nào để làm tương tự không. ?
Akshat Chaturvedi

26

Tôi vừa đăng một plugin Notepad ++ để chuyển đổi các tab thành dấu cách. Có, nó chuyển đổi các tab ở giữa một dòng. Có, nó sẽ tính đến các ký tự khác trong trường được gắn thẻ. Kiểm tra nó ra.


1
Điều gì xảy ra nếu tôi có một chuỗi mà tôi muốn xác định với một Tab trong đó? Nó cũng thay đổi mã nguồn và chuỗi ký tự của tôi?
maxwellb

Hoạt động như một sự quyến rũ cho các tab vào không gian. Đó là tất cả những gì nó làm, mặc dù.
Nhị phân Phile

Cảm ơn bạn, điều này là tuyệt vời. Đây thực sự là câu trả lời thực sự duy nhất cho câu hỏi bao gồm tất cả các tình huống - các tab hàng đầu hoặc các tab được nhúng và xem xét vị trí trong văn bản và độ rộng của tab thích hợp.
RenniePet

Đây sẽ là câu trả lời cho câu hỏi này, đặc biệt là bây giờ TextFX không có trong bản cài đặt mặc định của Notepad ++. Các plugin hoạt động hoàn hảo. Cảm ơn bạn!
Brown

2
Phiên bản 5.9.3 có Chỉnh sửa-> Thao tác trống-> TAB vào không gian. Xem câu trả lời của mrzli.
koppor

10

Cách dễ dàng:

  1. Đánh dấu một khu vực tab duy nhất
  2. Sao chép
  3. Đưa lên tìm / thay thế
  4. Dán vào trường tìm
  5. Nhấp vào trường thay thế và nhấn vào thanh không gian
  6. Sau đó thay thế tất cả.

2
đó là cách tiếp cận lười biếng, thường là MO của tôi:]
matt lohkamp

3
Đây cũng là cách làm của Notepad (không phải ++).
maxwellb

Trong Notepad ++ 6.5.5, thử TO TABS (từ dấu phẩy), đây là cách tiếp cận duy nhất phù hợp với tôi: nhập a tab, chọn nó và copyđược dán vào trường thay thế. (Đặt /tvào Replace withhộp không hoạt động, bất kể tôi đã chọn Extendedhay Regular Expression.)
Doug_Ivison

5
@Doug_Ivison Đó /tkhông phải là một chuỗi thoát; đó là một dấu gạch chéo và một chữ cái t. Nếu bạn muốn thay thế các tab, sử dụng \t. Do đó Extended (\n, \r, \t, \0, \x...).
Dan Bechard

@Dan Bạn nói đúng ... cảm ơn. Các bản sao / dán hoạt động, và \thoạt động.
Doug_Ivison

7

Trong phiên bản 5.8.7:

Cài đặt menu -> Tùy chọn ... -> Ngôn ngữ Menu / Cài đặt tab -> Cài đặt tab (bạn có thể chọn chính ngôn ngữ để thay thế các tab thành khoảng trắng. Thật tuyệt!) -> Bỏ chọn Sử dụng giá trị mặc định và kiểm tra Thay thế theo khoảng trắng .

Ảnh chụp màn hình của hộp thoại Preferences


"Chính ngôn ngữ để thay thế các tab" nghĩa là gì?
Peter Mortensen

Điều này đã thay đổi một lần nữa trong phiên bản 7.1 (2016-10-16) (từ "Menu ngôn ngữ / Cài đặt tab" thành "Ngôn ngữ" )
Peter Mortensen

7

Tôi đã không đọc tất cả các câu trả lời, nhưng tôi không tìm thấy câu trả lời mà tôi đang tìm kiếm.

Tôi sử dụng Python và không muốn tìm / thay thế hoặc 'hoạt động trống' mỗi lần tôi muốn biên dịch mã ...

Vì vậy, giải pháp tốt nhất cho tôi là nó xảy ra trên bay !

Đây là giải pháp đơn giản tôi tìm thấy :

Đi đến:

  1. Cài đặt menu -> Tùy chọn
  2. Chọn cài đặt tab
  3. Chọn loại ngôn ngữ của bạn (ví dụ: Python)
  4. Chọn hộp kiểm 'Sử dụng giá trị mặc định'
  5. Chọn hộp kiểm 'Thay thế bằng dấu cách'

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


Điều này đã thay đổi một lần nữa trong phiên bản 7.1 (2016-10-16) (từ "Menu ngôn ngữ / Cài đặt tab" thành "Ngôn ngữ" (và là "Cài đặt tab" trong phiên bản cũ hơn (như trong câu trả lời này)).
Peter Mortensen

3

Không có tab 'Chỉnh sửa thành phần' trong thiết lập tùy chọn. Bạn cần vào 'Menu Ngôn ngữ / Cài đặt tab', có một tùy chọn trong đó để kiểm soát hành vi của tab. Bạn thậm chí có thể đặt nó hoạt động khác nhau tùy thuộc vào ngôn ngữ của tệp.


Và sau khi đặt nó ở đó, hãy sử dụng TextFX (TextFX -> TextFX Edit -> Dẫn khoảng trắng vào tab hoặc tab sang khoảng trắng) như được mô tả trước đó. Đây chắc chắn là con đường để đi trong phiên bản mới nhất của Npp.
Cees Meijer

Điều này đã thay đổi một lần nữa trong phiên bản 7.1 (2016-10-16) (từ "Menu Ngôn ngữ / Cài đặt tab" thành "Ngôn ngữ" )
Peter Mortensen

2

Plugin CLR Tab to Spaces nên là một lựa chọn tốt. Tôi đã sử dụng nó và nó đã làm việc.


chiến thắng hoàn hảo! tô sáng văn bản, plugin> CLR Tab to Spaces> Tab to Spaces. plugin này tính đến số lượng khoảng trống được yêu cầu cho tab, nghĩa là đầu ra cách nhau của bạn trông giống hệt như đầu ra được gắn thẻ của bạn.
sonjz

2

Tôi làm theo cách đơn giản này:

  • Nhấp đúp chuột (Đánh dấu) tab đơn (ví dụ: \ t ).
  • Nhấn ctrl + F( Find/repace).
  • Bạn có thể không thấy \ t hoặc khu vực tab đơn trên Find What:trường. Nhưng đừng lo lắng.
  • Nhập một spacetrong Replace With:trường.
  • Nhấn vào đây Replce All.

Làm xong! :)

Xem:

Thay thế * Tab * bằng * Space * trong <code> Notepad ++ </ code>

Lưu ý: Phương pháp này cũng áp dụng cho trường hợp đảo ngược (Thay thế khoảng trắng bằng tab ).


Nếu bạn chọn "Mở rộng" từ Chế độ tìm kiếm, bạn có thể nhập \ t và nó cũng sẽ tìm thấy tab. Vấn đề với giải pháp này là nó không điều chỉnh khoảng cách cho tab, nghĩa là, nếu một tab có tối đa 5 khoảng trắng, văn bản của bạn trước tab có thể là 1-4 khoảng trắng ...
sonjz

1
Không biết tại sao câu trả lời này bị hạ thấp, nhưng với tôi nó có lẽ là tốt nhất bởi vì nó thể hiện như sau: KISS. Rõ ràng là nó sẽ không bao giờ bao gồm tất cả các trường hợp góc và cấu hình mà một trình cắm thêm sẽ mang lại, nhưng sau đó, một lần nữa, việc phải dựa vào một trình cắm cho một cái gì đó quá đơn giản chỉ là điên rồ đối với trường hợp chung. HÔN tất cả các cách.
luis.espinal


1

Cài đặt> Tùy chọn> Cài đặt tab Kiểm tra "thay thế bằng dấu cách". Lưu ý ở trên nó có kích thước Tab: 4 Nhấp vào bốn và một cửa sổ sẽ mở ra với tùy chọn thay đổi giá trị thành một số nguyên khác.

Đặt số nguyên bạn muốn và nhấn phím ENTER.

Có bạn có nó <3.


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.