It look like set tabstop=4
in VIM, but I don't know how to set it in bash
for example:
echo -e "1234567890\t321\n1\t2\n123\t1"
current output:
1234567890 321 1 2 123 1
I want output like this:
1234567890 321 1 2 123 1
It can be shown in anywhere, just like cat somefile
or php -r 'echo "\t123";'
How can I set tab width in bash?
The shiftwidth parameter controls your indentation size; if you want four space indents, use :set shiftwidth=4 , or the abbreviation :set sw=4 .
tab-insert (M-TAB) Insert a tab character.
Use spaces for indentingThe first line enables expandtab option in Vim. This option makes sure that spaces are used for indenting lines, even when you press the 'Tab' key. The second option tabstop takes a numerical value. Let's say I typed set tabstop=2, this will insert 2 spaces for a line indent.
By default, it's 8 which corresponds to the default tab stop in terminals.
That's not a property of your shell (or php or cat). It's your terminal that manages the output.
Use the tabs
command to change the behavior:
$ tabs 4 $ echo -e "a\tb" a b $ tabs 12 $ echo -e "a\tb" a b
(tabs
is specified in POSIX, and output above is "faked": it's still a tab character between the two letters.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With