This isn't very easy to do. You can't do this when you're logged in to your primary account - you'll need to create a temporary administrator account to do this; you can delete the temporary account afterward. Once you're logged into the temporary account, open the Terminal.
First, copy your current home folder to the new location:
Code:
sudo cp /Users/(your user name) (destination)
Replace (your user name) with the short user name of your primary account and (destination) with the destination. The destination will be of the form:
Code:
/Volumes/(external HD name)/(subdirectory)
where (external HD name) and (subdirectory) are placeholders.
Second, delete your old user folder:
Code:
sudo rm -r /Users/(your user name)
Third, create a symbolic link that connects the old user folder to the new user folder:
Code:
sudo ln -s /Users/(your user name) (destination)
Fourth, verify that the symbolic link works as intended:
Code:
cd /Users/(your user name)
pwd
The destination directory should display after you execute the pwd command. If it doesn't, or you got an error when you tried the ln command, reverse the order of the directories:
Code:
sudo ln -s (destination) /Users/(your user name)
and repeat this step.
Finally, close the Terminal, log out of the temporary account and log in to your primary account. Check if everything works as expected.