ChatGPT解决这个技术问题 Extra ChatGPT

在 Notepad++ 中将制表符转换为空格

如何在 Notepad++ 中将制表符转换为空格?

我发现 a webpage 表明这是可能的,但我找不到任何有关如何操作的信息。

我希望能够做到这一点,因为某些 Web 表单不尊重其中包含选项卡的代码。


A
Ale

要将现有制表符转换为空格,请按 Edit->Blank Operations->TAB to Space

如果将来您想在按制表键时输入空格而不是制表符:

转到 Settings->Preferences...->Language(自 7.1 版起)或 Settings->Preferences...->Tab Settings(以前的版本)选中 Replace by space(可选)您可以设置要使用的空格数通过更改选项卡大小字段来放置选项卡。

https://i.stack.imgur.com/cDrHP.png


@Algina-您可以更改记事本++的设置以自动将制表符转换为空格-只需转到:设置-首选项-选项卡设置-勾选“用空格替换”框-就像本答案中已经描述的mrzli一样。
这自然会受到“设置”-“首选项”-“标签设置”-“标签大小”中定义的标签大小的影响。
我只想补充一点,我的路径是:Settings => Language Menu/Tab Settings => Replace by space(在右下角)。几乎就像 mrzli 所说的那样,但我很难注意到它在哪里写了 Tab Settings。 (我知道我是瞎子!)
Notepad ++ v7.1中没有设置->首选项...->选项卡设置现在位于设置->首选项->语言下
我使用的是 v7.2.2,我可以使用 Edit -> Blank Operations -> Tab to Space 将制表符更改为空格。 Tab Settings 现在也在 Edit -> Preferences -> Language 中。虽然,我不明白 Tab Settings 的作用。我已经检查了 javascriptReplace by space 框,但是当我按 Tab 键时我仍然得到一个标签。它不应该打印4个空格吗?
P
Peter Mortensen

已过时:此答案仅适用于旧版本的 Notepad++。现在在 Notepad++ 中内置了制表符/空格之间的转换,并且 TextFX 插件在插件管理器对话框中不再可用。

首先在 Preferences -> Language Menu/Tab Settings 中设置“用空格替换”设置。

接下来,打开要替换选项卡的文档。

突出显示所有文本 (CTRL+A)。

然后选择 TextFX -> TextFX 编辑 -> 将空格引导到制表符或制表符到空格。

注意:确保已安装 TextFX Characters 插件(Plugins -> Plugin manager -> Show plugin managerInstalled 标签)。否则,将没有 TextFX 菜单。


只是位置不佳的菜单中的一个名称不佳的功能。
这个问题的最佳答案(也许不是作者想要的)是下面提供的空格插件。该问题要求将所有制表符转换为空格,而此答案仅转换前导空格。例如,如果您需要在保持列位置的同时转换以制表符分隔的表格数据,那么这个答案对您没有帮助。该插件是我可以在此处看到的该问题的唯一 Notepad++ 解决方案。
我需要进入插件管理器并安装 TextFX 插件,但是在我完成之后,其余的说明都很好。
答案似乎是错误的。正如 Binary Phile 所示,它只转换前导制表符。在以后的版本中,还有一个选项 Edit -> Blank Operations -> TAB to space,但这也不能按要求工作。据我所知,目前在 NP++ 中没有办法开箱即用。没有尝试过 Binary Phile 提到的插件。
顺便说一句 - 在切换到用空格替换后(2 个空格)我不得不关闭并打开 NP++ 否则它是错误的(有时仍然有 4 个空格)
M
Matthew Murdoch

设置 -> 首选项 -> 编辑组件(选项卡)-> 选项卡设置(组)-> 替换为空格

在版本 5.6.8(及更高版本)中:

设置 -> 首选项... -> 语言菜单/选项卡设置 -> 选项卡设置(组)-> 替换为空格


版本 5.9.3 具有 Edit->Blank Operations->TAB to Space。请参阅 mrzli 的回答。
This changed again in version 7.1 (2016-10-16)(从“语言菜单/标签设置”“语言”
P
Peter Mortensen

您需要替换 \t - 确保使用扩展模式!

https://i.stack.imgur.com/cp9j1.gif


只是为了强调,您需要在“替换为”框中放置四个空格(或两个,或其他)。
您可以将 \t(制表符)替换为任意数量的空格,请参阅 wiki.answers.com/Q/How_many_spaces_is_a_tab
这仅适用于行首的制表符。例如在这样的一行中(使用 [tab] 表示一个选项卡):“[tab]foo[tab]bar”,选项卡大小为 4 个空格,第一个选项卡应该是 4 个空格,但第二个选项卡应该是只有1个空间。
@mercator - 您的情况完全取决于上下文。如果是这种情况,OP 可以使用“查找下一个”/“替换”来跳转到下一个事件并根据具体情况做出决定。最初的问题似乎没有表明这种担忧。
@DaveE不,墨卡托的案例是TAB如何工作的普遍案例。尽管在评论中而不是在原始问题中提到,但本质上 OP 想要的是从制表符到空格的透明切换,也就是说,他不应该通过查看转换来知道转换已经完成。通过获取选定的文本并将其扩展为行首,可以实现计算并完全按照墨卡托的含义进行。它仅取决于扩展到行限制的文本。因此,不需要逐案决定。这正是 UNIX 中的 expand 命令所做的
K
Keshava GN

按照以下过程将空格转换为制表符,反之亦然:

https://i.stack.imgur.com/hPQn8.jpg


在 Notepad++ v6.3.2 和几个更早的版本中可用。
P
Peter Mortensen

简单的方法:

突出显示单个选项卡区域 复制 调出查找/替换 粘贴到查找字段 单击替换字段并点击空格键 然后全部替换。


P
Peter Mortensen

我没有阅读所有答案,但我没有找到我正在寻找的答案。

我使用 Python 并且不想每次要编译代码时都进行查找/替换或“空白操作”...

所以对我来说最好的解决方案是它即时发生!

这是我找到的简单解决方案:

去:

菜单设置 -> 首选项 选择选项卡设置 选择您的语言类型(例如 Python) 选择复选框“使用默认值” 选择复选框“用空格替换”

https://i.stack.imgur.com/8srV8.png


This changed again in version 7.1 (2016-10-16)(从 “语言菜单/标签设置”“语言”(并且在更早的版本中是 “标签设置”(如这个答案)))。
P
Peter Mortensen

在版本 5.8.7 中:

菜单设置->首选项...->语言菜单/选项卡设置->选项卡设置(您可以选择将选项卡替换为空格的语言。这很酷!)->取消选中使用默认值并选中替换为空格。

https://i.stack.imgur.com/msdhb.png


“替换标签的语言”是什么意思?
This changed again in version 7.1 (2016-10-16)(从“语言菜单/标签设置”“语言”
E
Elliot

首选项设置中没有“编辑组件”选项卡。您需要转到“语言菜单/选项卡设置”,那里有一个选项可以控制选项卡的行为。您甚至可以根据文件的语言将其设置为不同的工作方式。


并在此处设置后,如前所述使用 TextFX(TextFX -> TextFX 编辑 -> 前导空格到制表符或制表符到空格)。这绝对是最新版本的 Npp 中要走的路。
This changed again in version 7.1 (2016-10-16)(从“语言菜单/标签设置”“语言”
2
2 revs Keshava G N

我遵循这个简单的方法:

双击(突出显示)单个选项卡(即:\t)。

按 ctrl + F(查找/替换)。

您可能在 Find What: 字段中看不到 \t 或单个选项卡区域。但别担心。

在替换为:字段中输入一个空格。

单击全部替换。

完毕! :)

看:

https://i.stack.imgur.com/nTHxq.jpg

注意:此方法也适用于反转(用制表符替换空格)的情况。


如果您从搜索模式中选择“扩展”,您可以输入 \t,它也会找到选项卡。此解决方案的问题是它不调整制表符的间距,即,如果制表符最多有 5 个空格,则制表符之前的文本可能是 1-4 个空格...
S
Shawn Reeder

设置 > 首选项 > 选项卡设置 选中“用空格替换”。注意上面有选项卡大小: 4 单击四个,将打开一个窗口,其中包含将值更改为另一个整数的选项。

输入您想要的整数,然后按 ENTER 键。

你有它<3。


谢谢!更准确地说:设置>首选项>语言>选项卡设置选中“用空格替换”。 (记事本++ v7.9)
P
Peter Mortensen

如果您碰巧在 Unix 环境中工作,则需要 expand 命令:


Notepad++ 不是仅限 Windows 的吗?
它可以通过 Wine 在 linux 中使用。虽然性能很差,YMMV