Convert tabs to spaces in Notepad++
如何在记事本+中将制表符转换为空格?
我找到了一个网页,表明这是可能的,但我找不到任何有关如何做的信息。
我希望能够做到这一点,因为有些Web表单不尊重带有标签的代码。
- tab indent=1个字符,space indent=3个以上字符。
- Scite很容易做到这一点。糟糕的是,它没有记事本+扩展。
- 我似乎进入了暮色地带。我的记事本++总是三倍间隔每个标签,我在IDE中更新的任何东西都没有改变行为。我已经用了很多年了,在O-O之前从来没有遇到过这个问题,即使降级也不能解决这个问题。是的。我叫它。微光区特征。
要将现有选项卡转换为空格,请按Edit->Blank Operations->TAB to Space。
如果以后按Tab键时要输入空格而不是制表符:
转到Settings->Preferences...->Language(从7.1版起)或Settings->Preferences...->Tab Settings(以前的版本)
检查Replace by space。
(可选)您可以通过更改Tab size字段来设置要用来代替选项卡的空间数。
- 这不是一个很好的解决方案,因为每次按Tab键时都需要这样做。
- @Algina-您可以将记事本+的设置更改为自动将制表符转换为空格-只需转到:设置-首选项-制表符设置-勾选"替换为空格"框-就像这个答案中已经描述的mrzli一样。
- 这自然会受到"设置"-"首选项"-"选项卡设置"-"选项卡大小"中定义的选项卡大小的影响。
- 我想补充一下,我的路径是:Settings=>Language Menu/Tab Settings=>Replace by space(右下角)。这几乎和兹利先生所说的一样,但我很难注意到它说的Tab Settings的位置。(我知道我瞎了!)
- 没有设置->首选项…->记事本+v7.1中的选项卡设置现在位于"设置"->"首选项"->"语言"下。
- 我使用的是V7.2.2,我可以使用Edit -> Blank Operations -> Tab to Space将选项卡更改为空格。同时,Tab Settings现在在Edit -> Preferences -> Language中。不过,我不明白Tab Settings的作用。我已经检查了Replace by space框中的javascript,但是当我按下tab键时,仍然会得到一个tab。它不是应该打印4个空格吗?
- @Akinuri注意到有一个javascript.js选项。这解决了问题。
过时:此答案仅适用于旧版本的记事本++。选项卡/空间之间的转换现在内置于记事本++中,并且在插件管理器对话框中不再提供textfx插件。
- 首先在Preferences -> Language Menu/Tab Settings中设置"替换为空格"设置。
- 接下来,打开要替换选项卡的文档。
- 突出显示所有文本(ctrl+a)。
- 然后选择TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces。
注意:确保安装了textfx字符插件(Plugins -> Plugin manager -> Show plugin manager,Installed选项卡)。否则,将没有textfx菜单。
- 是的,这比搜索/替换要明智得多,textfx内置于notepad++。
- 在一个位置不好的菜单中只有一个名字不好的功能。
- 很好,哇,这是非常好的知道。
- 这个问题的最佳答案(也许不是作者想要的答案)是下面提供的空格标签插件。这个问题要求所有的制表符都是空格,而这个答案只转换前导空格。例如,如果在维护列位置的同时需要转换以制表符分隔的表格数据,那么这个答案将不会对您有所帮助。插件是唯一的记事本+解决方案的问题,我可以在这里看到。
- 我需要进入插件管理器并安装textfx插件,但是在我完成了这个操作之后,其余的说明都没问题。
- 回答似乎是错误的。如二进制phile所示,它只转换前导制表符。在以后的版本中,还有一个选项edit->blank operations->tab to space,但也不能按要求工作。据我所见,目前还没有办法在NP++的开箱即用。还没有尝试过二进制phile提到的插件。
- 顺便说一句-在切换到空格(2个空格)替换后,我必须关闭并打开np++否则会有问题(有时还是4个空格)
- 当您有一个数据表行时?如果选项卡没有前导,您希望将其转换为空格?
- 我还要补充一点,下面提到的内置解决方案应该是最好的答案。它将任何选项卡转换为一个空格,根本不需要下载任何内容。只需转到菜单选项并执行即可。
设置->首选项->编辑组件(tab)->tab设置(group)->替换为空格
在5.6.8版(及以上版本)中:
设置->首选项…->语言菜单/选项卡设置->选项卡设置(组)->替换为空格
- 谢谢你的回复。我希望有一种方法可以将它应用于突出显示的文本块。我喜欢和标签一起工作。我只想在将代码粘贴到表单之前切换到空格。
- 虽然Dror的回复肯定是"答案",但这对于了解其他用途也很有帮助!
- 不是问题的答案,而是我正在寻找的答案。干杯,Aron。
- 真的!关于(显然)一项简单任务的谣言太多了。替换为 ,扩展开关对我来说工作正常
- 很完美。只是我需要的。谢谢!
- 5.9.3版有"编辑"->"空白操作"->"制表符到空格"。见兹利先生的回答。
- 这在7.1版(2016-10-16)中再次发生变化(从"语言菜单/选项卡设置"改为"语言")。
您需要更换\t-确保使用扩展模式!
- 为了强调,您需要在"替换为"框中放置四个空格(或两个空格或其他空格)。
- 您可以将 (选项卡)替换为任意数量的空间,请参见wiki.answers.com/q/how_many_spaces_is_a_选项卡
- 这只适用于行首的制表符。例如,在这样的一行中(使用[制表符]表示制表符):"[制表符]foo[制表符]bar",制表符大小为4个空格,第一个制表符应为4个空格,第二个制表符应仅为1个空格。
- @墨卡托-你的案件完全取决于上下文。如果是这种情况,操作人员可以使用"查找下一个"/"替换"跳到下一个事件并逐个做出决定。最初的问题似乎并没有表明这种担忧。
- @戴夫,不,墨卡托的情况是普遍的情况下,如何工作的标签。尽管在评论中提到,而不是在最初的问题中,操作人员本质上想要的是一个从制表符到空格的转换,也就是说,他不应该通过查看转换来知道转换已经完成。通过获取选定的文本并将其扩展到行首,可以实现计算,并完全按照墨卡托的意思进行操作。它只依赖于扩展到行限制的文本。因此,不需要逐案决定。这正是Unix中的expand命令所做的
- 其他答案可能会回答特定的问题,但我认为这个答案是最好的,因为它回答了如何用任何东西替换制表符,而不仅仅是空格。
- @基克赖特说……对于一个简单的解决方案,其他的答案似乎要复杂得多。这个很直接
- 多谢@dror
按照以下步骤将空格转换为制表符,反之亦然:
- 在记事本++6.3.2版和几个早期版本中提供。
- 对于7.5.4版,这对我来说很有吸引力,不需要任何额外的插件安装就能获得所有标签字符(不仅仅是前导字符)。
- 7.5.8无论我们选择tab to space还是viceversa,此选项都不起作用。
我刚刚发布了一个记事本+插件来将标签转换为空格。是的,它转换一行中间的制表符。是的,它考虑了选项卡字段中的其他字符。过来看。
- 如果我有一个字符串要用它中的制表符定义怎么办?它也改变了我的源代码和字符串文本?
- 像是一个吸引人的标签空间。不过,这就是它所做的一切。
- 这个答案确实有效!唉,谢谢!
- 谢谢,这太好了。它实际上是对所有情况的唯一真实答案-前导标签或嵌入标签,并考虑文本中的位置和适当的标签宽度。
- 这应该是这个问题的答案,尤其是现在textfx不在记事本的默认安装中。这个插件工作得很完美。谢谢您!
- 棒极了!现在,如果只有一种简单的方法来转换整个文件目录的话!:)
- 5.9.3版有"编辑"->"空白操作"->"制表符到空格"。见兹利先生的回答。
简单的方法:
突出显示单个选项卡区域
拷贝
查找/替换
粘贴到查找字段
点击替换字段并点击空格键
然后全部更换。
- 也许不是最花哨的方法,但这对我很有用。
- 这是懒惰的做法,通常是我的M.O.:]
- 这也是记事本(而不是++的)做事方式。
- 在记事本++6.5.5中,尝试使用制表符(从逗号),这是唯一适用于我的方法:键入a tab,选择它和copy,然后将其粘贴到replace字段中。(把/t放在Replace with框中不起作用,不管我是选择Extended还是Regular Expression。)
- @Doug Ivison这是因为/t不是转义序列;它是斜线和字母t。如果要替换制表符,请使用\t。因此,Extended (
,
, \t, \0, \x...)。
- @丹,你说得对……谢谢。复制/粘贴工作,以及\t工作。
- 直观有效!
我没有阅读所有的答案,但我没有找到我要找的答案。
我使用python,不想每次编译代码时都进行查找/替换或"空白操作"…
所以对我来说最好的解决办法就是它是在飞行中发生的!
下面是我发现的简单解决方案:
去:
菜单设置->首选项
选择选项卡设置
选择语言类型(例如python)
选中复选框"使用默认值"
选中复选框"替换为空格"
- 这在7.1版(2016-10-16)中再次发生了变化(从"语言菜单/选项卡设置"改为"语言"(在更旧的版本中是"选项卡设置")。
在版本5.8.7中:
菜单设置->首选项…->语言菜单/选项卡设置->选项卡设置(您可以选择将选项卡替换为空格的语言)。太酷了!->取消选中使用默认值并选中替换为空格。
- "替换标签的语言"是什么意思?
- 这在7.1版(2016-10-16)中再次发生变化(从"语言菜单/选项卡设置"改为"语言")。
首选项设置中没有"编辑组件"选项卡。您需要转到"语言菜单/选项卡设置",其中有一个选项用于控制选项卡行为。甚至可以根据文件的语言将其设置为不同的工作方式。
- 在设置好之后,使用textfx(textfx->textfx edit->leading spaces to tab or tab to spaces),如前所述。这绝对是核电站最新版本的发展方向。
- 这在7.1版(2016-10-16)中再次发生变化(从"语言菜单/选项卡设置"改为"语言")。
我遵循这个简单的方法:
- 双击(突出显示)单个选项卡(即: )。
- 按ctrl + F(Find/repace)。
- 您可能在Find What:字段上看不到 或单个选项卡区域。但别担心。
- 在Replace With:字段中输入space。
- 单击Replce All。
完成!:)
见:
注:此方法也适用于反转(用制表符替换空格)大小写。
- 如果从搜索模式中选择"扩展",则可以输入 并找到选项卡。这个解决方案的问题是它不调整制表符的间距,即,如果一个制表符最多有5个空格,那么您在制表符之前的文本可能是1-4个空格…
- 不知道为什么这个答案被否决了,但对我来说,这也许是最好的,因为它体现了以下几点:亲吻。很明显,它永远不会覆盖所有的角情况和配置,或者一个插件会带来更多,但是,同样地,必须依赖一个插件来完成如此简单的事情,这对于一般情况来说简直是疯狂的。一路亲吻。
clr-tabs-to-spaces插件应该是一个不错的选择。我已经用过了,而且效果很好。
- 完美的胜利!突出显示文本、插件>clr tabs to spaces>tabs to spaces。这个插件考虑了选项卡需要多少空间,也就是说,您的间隔输出看起来与选项卡输出完全相同。
如果您正好在UNIX环境中工作,那么expand命令就是您需要的:
以下是我认为最好的方法:
下载:
记事本+
插件http://sourceforge.net/projects/tabstopspacesnpp/?源= TYP
阅读说明,它会将制表符转换为空格。
设置>首选项>选项卡设置检查"替换为空格"。注意上面有标签尺寸:4单击四个,将打开一个窗口,其中包含要更改的选项值转换为另一个整数。
输入所需的整数,然后按Enter键。
在这里,它小于3。