Làm cách nào để tự động cắt khoảng trắng theo dõi với Notepad ++?


70

Tôi không muốn xóa hoàn toàn các dòng trống, nhưng tôi muốn xóa các tab và dấu trắng trong đó. Eclipse thường làm điều đó (thông qua một thiết lập ưu tiên) khi chúng ta lưu tệp.

Ví dụ: tệp trước khi lưu ($ = cuối dòng):

def shuffle(list):$
    import random $
    $
    random.shuffle(list)
    $
$

... Và khi tôi lưu cái này trong trình soạn thảo, Eclipse sẽ làm như sau:

def shuffle(list):$
    import random$
$
    random.shuffle(list)
$
$

Làm cách nào tôi có thể tự động cắt khoảng trắng theo dõi với Notepad ++?


Để cắt khoảng trắng từ nhiều tệp cùng một lúc, hãy thực hiện Tìm & Thay thế cho biểu thức thông thường [ \t]+$. ( Ảnh chụp màn hình ) ( Nguồn )
Stevoisiak

Câu trả lời:


74

Bạn sẽ có thể thực hiện tìm / thay thế biểu thức chính quy trong Notepad ++ bằng cách sử dụng một mẫu như thế nào \s+$.

Ngoài ra còn có một vài tùy chọn trong menu Chỉnh sửa -> Thao tác trống có thể phù hợp với nhu cầu của bạn.

Trong menu "Macro", có một tùy chọn cho "Cắt theo dõi và lưu". Nếu bạn cần thực hiện một biểu thức chính quy, có thể tạo một macro tuy nhiên tôi chưa bao giờ thử chúng.


9
có trong phiên bản Notepad ++ của tôi, có một Edit -> Trim Trailing Space, nhưng tôi có thể tự động kích hoạt nó cho mỗi lần lưu không?
Srikanth

5
Có một tùy chọn cho "Cắt theo dõi và lưu" trong menu Macro
johanno

22
Tôi đã ràng buộc phím Ctrl + S với Macro -> Trim Trailing and savetùy chọn, sử dụng Settings -> Shortcut Mapper...tùy chọn. Điều này tốt hơn nhiều so với việc phải nhớ chạy macro mọi lúc. :)
Casey Kuball

Tìm kiếm \s+$sẽ khớp với bất kỳ dòng trống nào, bất kể khoảng trắng. Tôi khuyên bạn nên sử dụng [ \t]+$thay thế. (Xem Làm cách nào để xóa khoảng trắng ở cuối bằng cách sử dụng biểu thức chính quy? )
Stevoisiak

63

Alt+ Shift+ Slàm những gì bạn muốn. Trong thực tế, nó cũng lưu các tập tin.

Cập nhật

Như 10basetom đã lưu ý, bạn có thể gán một lối tắt khác cho macro này. Bạn có thể kiểm soát các phím tắt của mình trong Cài đặt> Shortcut Mapper> [Macro] .

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


10
Để loại bỏ khoảng trắng theo dõi khi bạn lưu: (1) Xóa phím tắt Lưu mặc định (Ctrl + S), sau đó (2) gán macro "Cắt Trailing và lưu" cho Ctrl + S.
thdoan

1
Và để loại bỏ Savelối tắt mặc định , nhấp đúp chuột vào Shortcuttrường và sau đó chọn Nonetừ hộp tổ hợp.
Mitch

2
Tôi tìm thấy trang này, cập nhật các phím tắt của tôi như bạn đề xuất và sử dụng nó một cách hạnh phúc mãi mãi. Sau đó, gần đây tôi đã phải thiết lập một máy mới và hoàn toàn quên mất tôi đã làm nó như thế nào trước khi ... Tìm kiếm lại và tìm thấy câu trả lời này một lần nữa! Bạn nên nhận +2 vì đã giúp tôi như thế này!
Stijn de Witt

Cài đặt> Shortcut Mapper, sau đó tab 'Macros'
bonob

Đây sẽ là câu trả lời được chọn cho tôi ^^
Nam G VU

4

Plugin> Trình quản lý plugin> Hiển thị Trình quản lý plugin
Trong tab Có sẵn, chọn EditorConfig và nhấp vào [Cài đặt]

Thêm một .editorconfigtệp vào thư mục (đặt tên .editorconfig.để tránh lỗi Windows "Bạn phải nhập tên tệp" - dấu chấm cuối cùng sẽ bị xóa)

# trims trailing whitespace for all files; filter like [*.{json,xml}]
[*]
trim_trailing_whitespace = true

EditorConfig cũng có thể chỉ định mã hóa, ký tự thụt lề và ký tự dòng mới, v.v.


1
Có vẻ như plugin EditorConfig cho Notepad ++ không thực sự hỗ trợ tùy chọn trim_trailing_whitespace: github.com/editorconfig/editorconfig-notepad-plus-plus
jpa

1
Hỗ trợ trim_trailing_whitespaceđã được thêm vào ngày 2016-04-20 . / cc @jpa
Stijn

Tôi ước tôi có thể nâng cao điều này hơn nữa, ngay cả khi chỉ để .editorconfig.lừa. Nghĩ rằng tôi đã dùng đến việc tạo các tập tin dấu chấm thông qua Command Prompt như một người thượng cổ trong suốt những năm này.
jamesdlin

4

Tôi đã thay đổi các phím tắt để tìm một giải pháp cho việc này. Tôi đã xóa phím tắt lưu (trình ánh xạ lối tắt -> menu chính -> lưu) và ánh xạ Ctrl+ Svào macro "Cắt Trailing and Save" (trình ánh xạ phím tắt -> macro -> cắt theo dõi và lưu). Bằng cách này, vĩ mô thay thế các chức năng lưu và không cần phải nhớ các Alt+ Shift+ Sphím tắt.


2

Các câu trả lời hiện có vẻ cũ.

Hãy thử đường dẫn bên dưới:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space

1
Tôi đã ghi lại một macro để "Trim Spiling Spaces" VÀ "chuyển đổi Tab thành Spaces", để thống nhất trong kiểm soát phiên bản. Sau đó tôi đã lưu macro với tổ hợp mã khóa Atl-T. Alt-T, Ctrl-Slà kết hợp nhanh để cắt, chuyển đổi và lưu. Tôi cố tình làm điều này theo hai bước, vì tôi không muốn cắt bớt các tệp đánh dấu hoặc thay đổi các tab / dấu khi chỉnh sửa các tệp của người bảo trì khác có thể mặc định theo một tiêu chuẩn khác mà tôi sử dụng. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing SpaceNotepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ cũng có ... Space to TABtùy chọn.)
SherylHohman

1

Ctrl+ F-> Chuyển sang tab Thay thế ->

Tìm gì: \ t \ r

Thay thế bằng: \ r

Đảm bảo chế độ tìm kiếm mở rộng được bật, sau đó thay thế tất cả.

Nếu bạn muốn tiết kiệm là tốt, johanno có giải pháp chính xác. Macro -> Trim Trailing and Save hoạt động theo chỉ định.


Câu trả lời này đã lỗi thời
Antonio

1

Cách khác -

  1. Chỉnh sửa> Thao tác trống> Xóa trống và EOL không cần thiết
  2. Plugin> Công cụ XML> In đẹp (chỉ XML - có ngắt dòng)

'Công cụ XML' là một plugin mà chúng ta có thể cài đặt cho notepad ++


1

Alt+ Shift+ Slà phím tắt mặc định cho việc này. Nó ở trong thanh menu như Macro -> Trim Trailing and save. Bạn có thể rebind điều này dưới Settings -> Shortcut Mapper -> [Macros].

Rebinding 'Trim Trailing and save' thông qua Shortcut Mapper

Dựa trên câu trả lời của kon psych , nếu bạn muốn tự động cắt khoảng trắng bất cứ khi nào bạn lưu, bạn có thể đặt tùy chọn này để thay thế hành vi Ctrl+ mặc định S. Chỉ cần nhớ thay đổi hoặc xóa phím tắt lưu ban đầu để ngăn xung đột.

Vô hiệu hóa phím tắt 'lưu' mặc định


+1 cho 'Chỉ cần nhớ thay đổi hoặc xóa lối tắt lưu ban đầu để tránh xung đột.'
Wafeeq

1

Để duy trì các lệnh menu hiện có, ánh xạ (trước đây chưa được gán) Ctrl+ Tđể cắt các khoảng trắng ở cuối. Sau đó, làm Ctrl+ TCtrl+ Svới nhau.

Điều này cho phép bạn thực hiện một thay đổi nhỏ đối với tệp mà không gây nhầm lẫn giữa các tiện ích so sánh văn bản và chương trình kiểm soát nguồn bằng cách thay đổi (có khả năng) hàng trăm dòng.


1

Đây là các bước chính xác để chuyển hướng phím tắt "Lưu" tiêu chuẩn Ctrl+ Sđể thực hiện thay vì "Cắt xén và lưu"

  • Cài đặt-> Phím tắt Mapper ...
  • Tab Menu chính, nhấp đúp chuột vào "Lưu", đổi Sthành Không
  • Tab macro, nhấp đúp chuột vào "Trim Trailing Space and Save", thay đổi thành Ctrl+S

Phím tắt Macros cũng có thể được sửa đổi từ Macro-> Sửa đổi Phím tắt / Xóa Macro ...


Cảm ơn, đây hoàn toàn là câu trả lời hay nhất
simon tan
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.