18

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

4

7 回答 7

29

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

tabs -n

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

于 2011-04-26T16:27:29.753 回答
5

我发现的唯一解决方案是输入终端:

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

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

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

于 2010-01-05T14:11:50.387 回答
3

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

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

似乎不适用于我的 linux 发行版,但是当我从远程系统 ssh 时它可以工作。

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

于 2010-01-05T12:12:07.087 回答
3

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

tabs 1,+4,+4,+4,+4,...
于 2013-03-10T01:23:23.263 回答
3

如果您使用的是 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”小曲周围的反引号。

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

于 2013-12-08T13:26:44.213 回答
2

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

于 2012-01-02T20:37:31.730 回答
0

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

于 2016-08-10T18:40:51.940 回答