set tab to 4 spaces in vi

Hi,
I want to set my tab lenght to 4 spaces instead of 8.
And when i press tab instead of inserting tab it should insert 4 spaces.
if i do

set ts=4 

this set tab=4. But this inserts tab.
Say suppose i copy the code from unix to texpad/wordpad.Textpad will interpret tab as 8 spaces.(I can set tab space in textpad to 4 spaces but i cant tell everyone who copy my code to text pad to set their tab in textpad).
I would like a command that will insert 4 spaces when i press tab instead of inserting tab of length 4 in vi.
How to set tab to 4 spaces?
Appreciate help.

set expandtab

Also, set that in your .vimrc file for more convenience.

Here is what I use:

set nu
set tabstop=4
set shiftwidth=4
set autoindent
set expandtab

Here's the settings from my .vimrc file

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

I think this will do what you want.

It is the `set expandtab` setting that turns the tab from an actual tab into 4 spaces

I dont have set expandtab in vi