如何使用Notepad ++自动修剪尾随空格?


69

我不想完全删除空行,但是我想删除其中的尾随制表符和空格。当我们保存文件时,Eclipse通常(通过首选项设置)执行此操作。

例如,保存之前的文件($ =行尾):

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

...,然后将其保存在编辑器中,Eclipse将执行以下操作:

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

如何使用Notepad ++自动修剪尾随空格?


要一次修剪多个文件中的空格,请对正则表达式执行查找和替换[ \t]+$。(截图)(来源
Stevoisiak

Answers:


73

您应该可以使用类似的模式在Notepad ++中执行正则表达式查找/替换\s+$

在菜单“ 编辑” ->“ 空白操作”下也有一些选项可以满足您的需求。

在“宏”菜单下,有一个“修剪跟踪和保存”选项。如果您需要执行正则表达式,则可以创建一个宏,但是我从未尝试过。


9
是的,在我的Notepad ++版本中,有一个Edit -> Trim Trailing Space,但是每次保存时我可以自动触发吗?
Srikanth 2014年

5
“宏”菜单下有一个“修剪跟踪并保存”的选项
johanno 2014年

22
我已经Macro -> Trim Trailing and save使用该Settings -> Shortcut Mapper...选项将Ctrl + S键绑定到该选项。这比必须始终记住运行宏要好得多。:)
Casey Kuball 2014年

\s+$无论空格如何,搜索都将匹配任何空行。我建议[ \t]+$改为使用。(请参阅如何使用正则表达式删除结尾的空格?
Stevoisiak

63

Alt+ Shift+ S做您想要的。实际上,它也保存文件。

更新资料

如10basetom所述,您可以为该宏分配其他快捷方式。您可以在“设置”>“快捷方式映射器”>“ [宏]”下控制快捷方式

在此处输入图片说明


10
保存时删除尾随空格:(1)删除默认的“保存”快捷方式(Ctrl + S),然后(2)将“修剪尾随并保存”宏分配给Ctrl + S。
thdoan'3

1
要删除默认的Save快捷方式,请双击Shortcut字段,然后None从组合框中选择。
米奇

2
我找到了此页面,按照您的建议更新了快捷方式,并从此愉快地使用了它。然后,最近我不得不安装一台新机器,完全忘记了之前的操作方式。再次搜索并再次找到此答案!您应该为此获得+2的帮助!
Stijn de Witt

设置>快捷方式映射器,然后点击“宏”
bonob

这应该是我的选择答案^^
Nam G VU

4

插件>插件管理器>显示插件管理器
在可用选项卡下,选择EditorConfig并单击[安装]

.editorconfig文件添加到文件夹(将其命名.editorconfig.以避免Windows错误“您必须输入文件名”-删除最后一个点)

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

EditorConfig还可以指定编码,缩进和换行符等。


1
似乎Notepad ++的EditorConfig插件实际上并不支持trim_trailing_whitespace选项:github.com/editorconfig/editorconfig-notepad-plus-plus
jpa

1
支持trim_trailing_whitespace2016-04-20添加。/ cc @jpa
Stijn

我希望我可以更多地投票支持,即使只是为了.editorconfig.窍门。这些年来,我一直以为我一直在依靠命令提示符像穴居人一样创建点文件。
jamesdlin

4

我更改了快捷方式以找到解决方案。我删除了保存快捷方式(快捷方式映射器->主菜单->保存),并将Ctrl+ 映射S到了“修剪追踪和保存”宏(快捷方式映射器->宏->修剪追踪并保存)。这样,宏可替换保存功能,并且无需记住Alt+ Shift+ S快捷方式。


2

现有答案看起来很陈旧。

请尝试以下路径:

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

1
我将宏录制到“修剪尾随空格”和“将制表符转换为空格”中,以实现版本控制的一致性。然后,我用键码组合保存了宏Atl-TAlt-TCtrl-S是修剪,转换和保存的快速组合。我故意这样做两步,因为我想要修剪降价文件,或更改选项卡/编辑可能默认为不同的标准,比我用其他维护者的文件时,尾随。 Notepad++ > Edit (menu) > Blank Operations > Trim Trailing SpaceNotepad++ > Edit (menu) > Blank Operations > TAB to Space。(N ++也有... Space to TAB选项。)
SherylHohman

1

Ctrl+ F->切换至标签替换 ->

查找内容:\ t \ r

替换为:\ r

确保扩展搜索模式已打开,然后全部替换。

如果您也想保存,johanno将提供正确的解决方案。宏->修剪尾随和保存按指定方式工作。


这个答案已经过时了
Antonio


1

Alt+ Shift+ S是此操作的默认快捷方式。在菜单栏中为Macro -> Trim Trailing and save。您可以在下将其重新绑定Settings -> Shortcut Mapper -> [Macros]

通过快捷方式映射器重新绑定“修剪跟踪并保存”

kon psych的答案为基础,如果要在保存时随时自动修剪空白,可以将其设置为替换默认的Ctrl+ S行为。只要记住要更改或删除原始的保存快捷方式即可避免冲突。

禁用默认的“保存”快捷方式


为“只需记住更改或删除原始保存快捷方式以防止发生冲突” +1。
Wafeeq

1

为了保留现有的菜单命令,请映射(以前未分配)Ctrl+ T修剪尾随空格。然后,一起做Ctrl+ TCtrl+ S

这使您可以对文件进行少量更改,而不会(可能)更改数百行,从而不会使文本比较实用程序和源代码控制程序混淆。


1

这些是重定向标准“保存”快捷键Ctrl+ S而是执行“修剪和保存” 的精确步骤

  • 设置->快捷方式映射器...
  • 主菜单选项卡,双击“保存”,更改S为无
  • 宏标签,双击“修剪尾迹并保存”,更改为Ctrl+S

也可以从“宏”->“修改快捷方式/删除宏”中修改“宏”快捷方式...


谢谢,这绝对是最好的答案
simon tan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.