Как автоматически обрезать конечные пробелы с помощью Notepad ++?

110881
Srikanth

Я не хочу полностью удалять пустые строки, но я хочу удалить конечные вкладки и пробелы в них. Eclipse обычно делает это (через настройку предпочтений), когда мы сохраняем файл.

Например, файл перед сохранением ($ = конец строки):

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

... и когда я сохраняю это в редакторе, Eclipse делает следующее:

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

Как я могу автоматически обрезать конечные пробелы с помощью Notepad ++?

60
Чтобы обрезать пробелы из нескольких файлов одновременно, выполните поиск и замену регулярного выражения `[\ t] + $`. ([Снимок экрана] (https://i.stack.imgur.com/KI2WA.png)) ([Источник] (https://stackoverflow.com/a/9532388/3357935)) Steven M. Vascellaro 6 лет назад 0

10 ответов на вопрос

69
johanno

Вы должны иметь возможность выполнять поиск / замену регулярных выражений в Notepad ++, используя такой шаблон, как \s+$.

В меню « Правка» -> « Пустые операции» также есть несколько параметров, которые могут соответствовать вашим потребностям.

В меню «Макрос» есть опция «Обрезать трейлинг и сохранить». Если вам нужно сделать регулярное выражение, может быть возможно создать макрос, однако я никогда не пробовал их.

да, в моей версии Notepad ++ есть `Edit -> Trim Trailing Space`, но могу ли я запускать это автоматически при каждом сохранении? Srikanth 10 лет назад 9
В меню «Макро» есть опция «Обрезать трейлинг и сохранить». johanno 10 лет назад 5
Я связал клавишу Ctrl + S с параметром `Macro -> Trim Trailing and save`, используя параметр` Settings -> Shortcut Mapper ... `. Это гораздо лучше, чем не забывать постоянно запускать макрос. :) Darthfett 10 лет назад 18
Поиск `\ s + $` будет соответствовать любой пустой строке, независимо от пробела. Я рекомендую использовать `[\ t] + $` вместо этого. (См. [Как удалить конечные пробелы с помощью регулярного выражения?] (Https://stackoverflow.com/a/9532388/3357935)) Steven M. Vascellaro 6 лет назад 0
56
kon psych

Alt+ Shift+ Sделает то, что вы хотите. На самом деле это также сохраняет файл.

Обновить

Как отметил 10basetom, этому макросу можно назначить другой ярлык. Вы можете управлять своими ярлыками в меню «Настройки»> «Ярлык ярлыков»> [Макросы] .

enter image description here

Чтобы убрать концевые пробелы при сохранении: (1) Удалите ярлык Сохранить по умолчанию (Ctrl + S), затем (2) назначьте макрос «Обрезать трейлинг и сохранить» для Ctrl + S. thdoan 9 лет назад 9
Чтобы удалить ярлык «Сохранить» по умолчанию, дважды щелкните поле «Ярлык» и выберите «Нет» в поле со списком. Mitch 8 лет назад 1
Я нашел эту страницу, обновил мои ярлыки, как вы предложили, и с радостью использовал их с тех пор. Тогда недавно мне пришлось настроить новую машину и совершенно забыл, как я это делал раньше ... Поиск снова и снова нашел этот ответ! Вы должны получить +2 за помощь мне в этом! Stijn de Witt 8 лет назад 2
Настройки> Ярлык ярлыков, затем вкладка «Макросы» bonob 8 лет назад 0
Это должен быть выбранный ответ для меня ^^ Nam G VU 8 лет назад 0
В более новых версиях вы найдете в верхнем меню `Run`->` Изменить ярлык / Удалить команду`-> вкладка `Главное меню`. Затем очистите `CTRL + S` по умолчанию, а затем назначьте на вкладке` Macro` «Обрезать трейлинг и сохранить» значение `CTRL + S` João Pimentel Ferreira 6 лет назад 0
4
Halcyon

I changed the shortcuts to find a solution to this. I removed the save shortcut (shortcut mapper -> main menu -> save) and mapped Ctrl+S to the "Trim Trailing and Save" macro (shortcut mapper -> macros -> trim trailing and save). This way the macro replaces the save functionality and there's no need to remember the Alt+Shift+S shortcut.

4
Webveloper

Plugins > Plugin Manager > Show Plugin Manager
Under the Available tab, select EditorConfig and click [Install]

Add an .editorconfig file to the folder (name it .editorconfig. to avoid Windows error "You must type a filename" - the last dot will be removed)

# trims trailing whitespace for all files; filter like [*.] [*] trim_trailing_whitespace = true 

EditorConfig can also specify encoding, indent and newline character(s), etc.

Похоже, что плагин EditorConfig для Notepad ++ на самом деле не поддерживает параметр trim_trailing_whitespace: https://github.com/editorconfig/editorconfig-notepad-plus-plus jpa 8 лет назад 1
Поддержка 'trim_trailing_whitespace` была добавлена ​​[2016-04-20] (https://github.com/editorconfig/editorconfig-notepad-plus-plus/commit/4a0e81cf5d6c903310663adbdf05df7180397869). / cc @jpa Stijn 6 лет назад 1
Хотелось бы, чтобы я высказался об этом больше, даже если бы только за трюк .editorconfig. Думать, что я все эти годы прибегал к созданию точечных файлов через командную строку как пещерный человек. jamesdlin 6 лет назад 0
1
dr4g1116

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

Найти что: \ t \ r

Заменить на: \ r

Убедитесь, что расширенный режим поиска включен, затем замените все.

Если вы хотите сэкономить, у Johanno есть правильное решение. Макрос -> Trim Trailing и Save работает как указано.

Этот ответ устарел Antonio 6 лет назад 0
1
al h

In order to preserve the existing menu commands, map (previously unassigned) Ctrl+T to trim trailing spaces. Then, do Ctrl+T and Ctrl+S together.

This lets you make a small change to a file without confusing text comparison utilities and source control programs by changing (potentially) hundreds of lines.

1
Pritam Karmakar

По-другому -

  1. Правка> Пустые операции> Удалить ненужные пустые и EOL
  2. Плагин> Инструменты XML> Красивая печать (только XML - с переносами строк)

«XML Tools» - это плагин, который мы можем установить для notepad ++

1
Steven M. Vascellaro

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

Rebinding 'Trim Trailing and save' via Shortcut Mapper

Основываясь на ответе Кон Псих, если вы хотите автоматически обрезать пробелы в любое время, когда вы сохраняете, вы можете установить это вместо поведения по умолчанию Ctrl+ S. Просто не забудьте изменить или удалить исходный ярлык сохранения, чтобы предотвратить конфликты.

Disabling the default 'save' shortcut

+1 за «Просто не забудьте изменить или удалить исходный ярлык сохранения, чтобы избежать конфликтов». Gullu Butt 5 лет назад 0
0
Antonio

Это точные шаги, чтобы перенаправить стандартный ярлык «Сохранить» Ctrl+ Sвместо «Обрезать трейлинг и сохранить»

  • Настройки-> Ярлык ярлыков ...
  • Вкладка «Главное меню», дважды щелкните «Сохранить», измените Sна «Нет»
  • На вкладке «Макросы» дважды щелкните «Обрезать конечный пробел и сохранить», измените на Ctrl+S

Ярлык Macros также можно изменить из Macro-> Modify Shortcut / Delete Macro ...

0
Manohar Reddy Poreddy

Существующие ответы выглядят старыми.

Попробуйте ниже путь:

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