more
是否可以为和命令设置制表符(每个制表符的空格数)less
?在 vi 中,我将这一行添加到.vimrc
set tabstop=4
然而,当我通读一个文件时,more
每个选项卡仍然使用 8 个空格
$ more style.css
div {
width: 100%;
}
这是我可以在.bashrc
或类似文件中配置的东西吗?
答案1
从man less
:
-xn,... or --tabs=n,...
Sets tab stops. If only one n is specified, tab stops are set at
multiples of n. If multiple values separated by commas are specified,
tab stops are set at those positions, and then continue with the same
spacing as the last two. For example, -x9,17 will set tabs at positions
9, 17, 25, 33, etc. The default for n is 8.
手册页还描述了如何使用 setenv 或 export 设置 less 的默认选项。添加LESS="-x4";export LESS
到你的 ~/.bashrc 应该可以解决问题
答案2
我认为它不是bash
(或zsh
, csh
... 和其他 shell) 的属性。它是显示输出的终端的属性。
您可以使用expand
命令转换tab
为数量spaces
。从expand
手册页:
-t, --tabs=NUMBER
have tabs NUMBER characters apart, not 8
所以你会这样做:
$ cat test.tabs
a b c
$ expand -t 4 test.tabs
a b c