<p>Programming in vim I often go search for something, yank it, then go back to where I was, insert it, modify it.</p>

<p>The problem is that after I search and find, I need to MANUALLY find my way back to where I was.</p>

<p>Is there an automatic way to go back to where I was when I initiated my last search?</p>

I've always done by it setting a mark.
In command-mode, press
m
[letter]
.  For example,
m
a
sets a mark at the current line using
a
as the mark identifier.
To get back to the mark press
'
[letter]
.  For example,
'
a
takes you back to the line mark set in step 1.  To get back to the column position of the row where you marked the line, use
`
a
(
back-tick
[letter]
).
To see all of the marks that currently set, type
```
:marks
```
.
On a slightly unrelated note, I just discovered another nifty thing about marks.
Let's say you jump to mark
b
by doing
m
b
.  Vim automatically sets the mark
'
(that's a single-quote) to be whichever line you were on before jumping to mark
b
.
That means you can do
'
b
to jump to that mark, then do
''
(2 single-quotes) to jump back to wherever you were before.
I discovered this accidentally using the
```
:marks
```
command, which shows a list of all marks.