Question: I sometimes need to write the whole alphabet `abcd…z` and I hate typing it letter by letter in Vim's insert mode. Does there exist any method to do this more efficiently?

I know about the `ga` command which gives me the ascii code of the character where the cursor is … but don't know anything about how to mix it with my standard solution to type numbers from 1 to (for example) 5000: `a1ESCqqyyp^Aq4998@q` …

Answer: 
How about this command:

```
:put =join(map(range(char2nr('a'),char2nr('z')),'nr2char(v:val)'),'')

```

Collect the ASCII values of the characters in the range from `a` to `z`, then map them over the `nr2char()` function and insert the result into the current buffer with `:put =`.

When you leave out the enclosing `join(` … `,'')` you get the characters on a separate line each.

See

* [`:h nr2char()`](http://vimdoc.sourceforge.net/htmldoc/eval.html#nr2char%28%29),
* [`:h char2nr()`](http://vimdoc.sourceforge.net/htmldoc/eval.html#char2nr%28%29),
* [`:h :put`](http://vimdoc.sourceforge.net/htmldoc/change.html#%3aput),
* and look up `range()`, `map()`, `join()` and friends in the [`list-functions`](http://vimdoc.sourceforge.net/htmldoc/usr_41.html#list-functions) table.
You might try using [Vim abbreviations](http://vim.wikia.com/wiki/Using_abbreviations) or a full-fledged snippet manager plugin like [UltiSnips](https://github.com/SirVer/ultisnips). It might take a few moments to set up, and you'd have to type that alphabet one more time to define it as an abbreviation or snippet, but after that you'd be able to insert the alphabet or any other common chunk of text much more easily.