Як автоматично обрізати пробіл пробілів за допомогою блокнота ++?


69

Я не хочу повністю видаляти порожні рядки, але я хочу видалити в них вкладки та пробіли. Затемнення зазвичай це робить (через налаштування переваг), коли ми зберігаємо файл.

Наприклад, файл перед збереженням ($ = кінець рядка):

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

... і коли я зберігаю це в редакторі, Eclipse робить наступне:

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

Як я можу автоматично обрізати простір пробілів за допомогою блокнота ++?


Щоб обрізати пробіли з декількох файлів одночасно, виконайте пошук і заміна для регулярного виразу [ \t]+$. ( Скріншот ) ( Джерело )
Stevoisiak

Відповіді:


73

Ви повинні мати можливість знайти / замінити регулярний вираз у Блокноті ++, використовуючи такий зразок \s+$.

Також у меню Правка -> Пусті операції є кілька варіантів, які можуть відповідати вашим потребам.

У меню "Макрос" є опція "Обрізати слід та зберегти". Якщо вам потрібно зробити регулярний вираз, можливо, можливо створити макрос, проте я ніколи їх не пробував.


9
так, у моїй версії Notepad ++ є Edit -> Trim Trailing Space, але чи можу я запускати це автоматично для кожного збереження?
Шрікант

5
У меню "Макрос" є варіант "Обрізати контур і зберегти"
johanno

22
Я прив’язав клавішу Ctrl + S до Macro -> Trim Trailing and saveпараметра, використовуючи Settings -> Shortcut Mapper...параметр. Це набагато краще, ніж постійно пам'ятати, щоб запускати макрос. :)
Кейсі Кубалл

Пошук \s+$буде відповідати будь-якому порожньому рядку, незалежно від пробілу. Я рекомендую використовувати [ \t]+$замість цього. (Див. Як я можу видалити пробіли пробілів за допомогою регулярного виразу? )
Stevoisiak

63

Alt+ Shift+ Sробить те, що ти хочеш. Насправді це також зберігає файл.

Оновлення

Як зазначається 10basetom, ви можете призначити інший ярлик цьому макросу. Ви можете керувати своїми ярликами в розділі Налаштування> Mapper ярлик> [Макроси] .

введіть тут опис зображення


10
Щоб зняти пробіли під час збереження: (1) Видаліть ярлик за замовчуванням Зберегти (Ctrl + S), потім (2) призначте макрос "Обрізати трейлінг і зберегти" для Ctrl + S.
thoan

1
А щоб видалити Saveярлик за замовчуванням , двічі клацніть на Shortcutполі, а потім виберіть Noneу комбінованому полі.
Мітч

2
Я знайшов цю сторінку, оновив свої ярлики, як ви запропонували, і користувався нею щасливо. Тоді нещодавно мені довелося встановити нову машину і зовсім забув, як я це робив раніше ... Знову шукав і знову знайшов цю відповідь! Ви повинні отримати +2 за допомогу мені в цьому!
Штійн де Вітт

Налаштування> Ярлик Mapper, потім вкладка "Макроси"
підношення

Це має бути обрана для мене відповідь ^^
Нам G VU

4

Плагіни> Менеджер плагінів> Показати Менеджер плагінів
На вкладці Доступні виберіть EditorConfig та натисніть [Встановити]

Додайте .editorconfigфайл до папки (назвіть його, .editorconfig.щоб уникнути помилки Windows "Ви повинні ввести ім'я файлу" - остання крапка буде видалена)

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

EditorConfig також може вказати кодування, відступ та символи нового рядка тощо.


1
Здається, що плагін EditorConfig для Notepad ++ насправді не підтримує опцію trim_trailing_whitespace
jpa

1
Підтримка trim_trailing_whitespaceдодана 2016-04-20 . / cc @jpa
Stijn

Я б хотів, щоб я міг підтримати це ще більше, навіть якщо тільки за .editorconfig.трюк. Думаю, що я вдався створити dot-файли через командний рядок, як печерний чоловік протягом усіх цих років.
jamesdlin

4

Я змінив ярлики, щоб знайти рішення для цього. Я видалив ярлик швидкого збереження (ярлик ярлика -> головне меню -> зберегти) і відобразив Ctrl+ Sдо макросу "Обрізати трейлінг і зберегти" (макрос ярлика -> макроси -> обрізка трейлінгу та збереження). Таким чином макрос замінює функцію збереження, і не потрібно пам’ятати ярлик Alt+ Shift+ S.


2

Існуючі відповіді виглядають старими.

Спробуйте нижче шлях:

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

1
Я записав макрос на "Обрізати проміжні простори" ТА "Перетворити вкладки в пробіли" для послідовності контролю версій. Потім я зберегла макрос із комбінацією клавіш Atl-T. Alt-T, Ctrl-Sце швидке комбо для обрізки, перетворення та збереження. Я цілеспрямовано роблю це в два етапи, оскільки я не хочу обрізати файли розмітки, або змінювати вкладки / трейлінг під час редагування файлів інших службовців, які за замовчуванням можуть відповідати іншим стандартам, ніж я використовую. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Spaceі Notepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ також має ... Space to TABваріанти.)
SherylHohman

1

Ctrl+ F-> Перехід на вкладку Замінити ->

Знайдіть що: \ t \ r

Замініть на: \ r

Переконайтесь, що режим розширеного пошуку ввімкнено, а потім замініть усі.

Якщо ви хочете також заощадити, johanno має правильне рішення. Макрос -> Обрізка відстеження та збереження працює як зазначено.


Ця відповідь застаріла
Антоніо

1

Інший спосіб -

  1. Редагувати> Пусті операції> Видалити непотрібні порожні та EOL
  2. Плагін> Інструменти XML> Симпатичний друк (лише XML - з розривами рядків)

"Інструменти XML" - це плагін, який ми можемо встановити для блокнота ++


1

Alt+ Shift+ S- це ярлик за замовчуванням для цього. Це в рядку меню як Macro -> Trim Trailing and save. Ви можете відновити це під пунктом Settings -> Shortcut Mapper -> [Macros].

Повторне зв’язування "Обрізання контуру та збереження" через ярлик Mapper

Спираючись на відповідь kon psych , якщо ви хочете автоматично обрізати пробіли в будь-який час, коли ви економите, ви можете встановити це, щоб замінити поведінку за замовчуванням Ctrl+ S. Просто пам’ятайте, щоб змінити або видалити початковий ярлик збереження, щоб запобігти конфліктам.

Відключення за замовчуванням ярлика "зберегти"


+1 для "Просто пам’ятайте, щоб змінити або видалити початковий ярлик збереження, щоб запобігти конфліктам".
Wafeeq

1

Щоб зберегти існуючі команди меню, перейдіть на карту (раніше не призначену) Ctrl+ Tобрізати пробіли. Потім зробіть Ctrl+ Tі Ctrl+ Sразом.

Це дозволяє вам внести невеликі зміни у файл, не плутаючи утиліти порівняння тексту та програми управління джерелами, змінюючи (потенційно) сотні рядків.


1

Це точні кроки, щоб перенаправити стандартний ярлик "Зберегти" Ctrl+ Sзробити замість цього "Обрізати трейлінг і зберегти"

  • Налаштування-> Mapper ярлик ...
  • Вкладка "Головне меню", двічі клацніть на "Зберегти", перейдіть Sна "Немає"
  • Вкладка "Макроси" двічі клацніть на "Обрізати простір та заощадити", перейдіть до Ctrl+S

Ярлик "Макроси" також можна змінити за допомогою Макро-> Змінити ярлик / Видалити макрос ...


Дякую, це абсолютно найкраща відповідь
simon tan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.