如何在 gnome-terminal 中将选项卡显示为 4 个空格

Posted

技术标签:

【中文标题】如何在 gnome-terminal 中将选项卡显示为 4 个空格【英文标题】:How to display tabs as 4 spaces in gnome-terminal 【发布时间】:2011-01-01 14:57:35 【问题描述】:

实际上 gnome-terminal 将选项卡显示为 8 个空格,这在您 cat 文件或查看差异时非常烦人,有什么方法可以永久更改吗?

【问题讨论】:

似乎更多的是 superuser.com 的问题。 有人知道在 RHEL 上哪个包包含这个神奇的“tabs”命令吗? 【参考方案1】:

您也可以使用隐式间隔,而不是写出显式的制表位列表:

tabs -n

这将设置每个n 列出现的制表位。有关更多信息,请查看http://manpages.ubuntu.com/manpages/maverick/en/man1/tabs.1.html 的标签手册页。

【讨论】:

这不起作用;它将第一个制表位设置为 n 而不是 1,即使文档另有说明。这是tabs 中的一个错误。 嗯,对我有用。 当我把它放在 .bashrc 中时,我遇到了一些奇怪的问题,它直到下次登录才完全生效,尽管这不是必需的。【参考方案2】:

我找到的唯一解决方案是在终端中输入:

tabs 5,9,13,17,21,25,29,33,37,41

如果您想要永久更改,请将其附加到 ~/.bashrc。

PS:这显然涵盖了多达 10 个制表符缩进。

【讨论】:

【参考方案3】:

您需要在底层 tty 上设置 tabwidth,而不是在 gnome-terminal 本身中。

理论上,您应该可以使用 'setterm -regtabs 4' 在 .bashrc 中将 tabwidth 设置为 4。

似乎无法在我的 linux 发行版上运行,但当我从远程系统 ssh 时它可以运行。

将制表符宽度重置为 8 的最简单方法是使用“制表符 -8”(制表符 -d8 可以直观地看到更改)。

【讨论】:

Setterm 仅适用于 TTY,因此我应用了“标签”,请参阅下一个答案。 (我以前不知道,所以谢谢;D)【参考方案4】:

将其设置为“tabs -4”的问题是第一个制表位关闭了一个(至少在我的系统上)。例如,如果我输入“tabs -4”,第一个制表位将从第 4 列开始,前面有 3 个空格,而不是 4 个。随后的制表位都将正确地用 4 个空格分隔。一种解决方法是像这样指定制表位:

tabs 1,+4,+4,+4,+4,...

【讨论】:

【参考方案5】:

如果您使用的是 bash,这就是我在 ~/.bashrc 中的内容:

# set tabs to width TABWIDTH
TABWIDTH=4
# for less(1) the option -x4 was added (see above);
# other programs may need their own flags
setterm -regtabs $TABWIDTH </dev/tty
tabs -0 </dev/tty
# this erroneously imho sets the first tab at offset 3, not offset 4:
#tabs 1,+$TABWIDTH </dev/tty
# this works:
tabs 1`for i in 0..40; do echo -n ",+$TABWIDTH"; done`
unset TABWIDTH

注意“for ... done”小曲周围的反引号。

编辑:“done”语句之前的最后一个“+4”当然应该是 +$TABWIDTH。

【讨论】:

对我来说,每当我打开终端时,都会打印setterm: terminal xterm-256color does not support --regtabs。此外,对于图形和虚拟控制台,除了倒数第二行之外的所有内容都是不必要的。【参考方案6】:

您也可以使用制表符 -4,它会每 4 列设置一个制表位。

【讨论】:

【参考方案7】:

标签 1、5、9、13、17、21、25 等 似乎不能完全正确地工作。在输入时,当在选项卡上退格时,gnome-terminal 返回 8 个空格,而不是 4 个。看起来这里有一个 gnome-terminal 错误。 (注意:如果在 shell 中输入,您将看不到这一点,因为它会篡改制表符以完成文件。您必须首先运行 cat 或 dc 或其他一些不会为自己的目的使用制表符字符的命令。)

【讨论】:

以上是关于如何在 gnome-terminal 中将选项卡显示为 4 个空格的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行在 GNOME 终端中打开一个新选项卡? [关闭]

代码块停止使用 gnome-terminal (linux) 执行

脚本执行后避免 gnome-terminal 关闭?

如何更改gnome-terminal下使用vim时不同模式下的光标形状

如何在Javascript中将选定选项设置为默认选择

如何在 Startup 中将选项模式与这些服务一起使用?