+2  A: 

This looks completely obscure, but should work:

alias v='vim -c "'"'"'\""'

That's a single-quoted vim -c ", followed by a double-quoted ', followed by a single-quoted \""...

sth
So you are basically concatenating 'vim -c "' and "'" and '\""' right? Can you also do it with escaping?
Tomas
Not pretty, but it works :)
Pierre-Antoine LaFayette
@Tomas: Yes, it is doing concatenation. With only using double-quoted arguments the escaped version would look like this: `alias v="vim -c \"'\\\"\""`
sth
+3  A: 

Your question is an example of a situation in which functions are superior to aliases:

v() { vim -c "'\"" "$@"; }
Dennis Williamson
You should wrap the `$@` in double-quotes (ie `"$@"`) in case there are spaces in any of the filenames.
intuited
@Dennis That's a good point.
Pierre-Antoine LaFayette
A: 

Another solution is GNU Screen. It let's you save one or more shell instances (where one or more could be running vim) and saves their exact contents as if your computer would be idling. In particular, it's perfect for having many tabs and files open on a remote computer.

So instead of just going to the last mark, you'd simply type screen -r mysession and you'd restore not just the last position of the cursor, but all your buffers/tabs/shell instances/other programs and what not.

But perhaps you knew that already.

Jonatan Littke