【问题标题】:Convert tabs to spaces in Notepad++在 Notepad++ 中将制表符转换为空格
【发布时间】:2010-10-02 02:04:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: notepad++ whitespace indentation


    【解决方案1】:

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

    如果以后你想在按tab键时输入空格而不是tab:

    1. 转到Settings->Preferences...->Language(自 7.1 版起)或 Settings->Preferences...->Tab Settings(以前的版本)
    2. 检查Replace by space
    3. 可选)您可以通过更改Tab size 字段来设置用于代替制表符的空格数。

    【讨论】:

    • @Algina - 您可以更改 Notepad++ 的设置以自动将制表符转换为空格 - 只需转到:设置 - 首选项 - 选项卡设置 - 勾选“用空格替换”框 - 就像 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 的作用。我已经检查了Replace by space 框中的javascript,但是当我按下tab 键时我仍然得到一个tab。它不应该打印 4 个空格吗?
    【解决方案2】:

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

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

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

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

    转到:

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

    【讨论】:

    【解决方案3】:

    如果你碰巧在 Unix 环境中工作,expand 命令就是你所需要的:

    【讨论】:

    • Notepad++ 不是仅限 Windows 的吗?
    • 它可以通过 Wine 在 linux 中使用。虽然性能很差,YMMV
    【解决方案4】:

    在 5.8.7 版本中:

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

    【讨论】:

    【解决方案5】:

    简单的方法:

    1. 突出显示单个选项卡区域
    2. 复制
    3. 调出查找/替换
    4. 粘贴到查找字段中
    5. 点击替换字段并按空格键
    6. 然后全部替换。

    【讨论】:

      【解决方案6】:

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

      • 首先在Preferences -> Language Menu/Tab Settings中设置“用空格替换”设置。
      • 接下来,打开要替换标签的文档。
      • 突出显示所有文本 (CTRL+A)。
      • 然后选择TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces

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

      【讨论】:

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

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

      【讨论】:

      • 只是强调一下,您需要在“替换为”框中放置四个空格(或两个,或其他)。
      • 您可以将\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 命令所做的
      【解决方案8】:

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

      输入所需的整数并按 ENTER 键。

      你有它

      【讨论】:

      • 谢谢!更准确地说:设置>首选项>语言>选项卡设置选中“用空格替换”。 (记事本++ v7.9)
      【解决方案9】:

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

      【讨论】:

      • 在 Notepad++ v6.3.2 和几个更​​早的版本中可用。
      【解决方案10】:

      我遵循这个简单的方法:

      • 双击(突出显示)单个标签(即:\t)。
      • 请按ctrl + F (Find/repace)。
      • 您可能在Find What: 字段中看不到\t单个选项卡区域。不过不用担心。
      • Replace With: 字段中输入space
      • 点击Replce All

      完成! :)

      见:

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

      【讨论】:

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

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

      在 5.6.8(及以上)版本中:

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

      【讨论】:

      【解决方案12】:

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

      【讨论】:

      • 并在此处设置后,使用 TextFX (TextFX -> TextFX Edit -> 前导空格到制表符或制表符到空格) 如前所述。这绝对是最新版本的 Npp 中要走的路。
      • This changed again in version 7.1 (2016-10-16)(从“语言菜单/选项卡设置”“语言”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 2013-12-12
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多