Learn Vimscript the Hard Way
learnvimscriptthehardway.stevelosh.com
learnvimscriptthehardway.stevelosh.com
But to my surprise, Shaw not only isn't proprietary about the brand, it looks like he is going out of his way to help other people appropriate it:
https://gitorious.org/learn-x-the-hard-way
"This is a skeleton LaTeX project that makes it easier to start working on a “Learn X The Hard Way” book. You simply clone this repository, change a few base files, and then you can start writing. It will also come with a small “meta book” that gives you advice for writing and publishing your book."
Very cool. While it seems that Steve Losh didn't use the actual templates above (he picked markdown instead of rst), it's neat that the overall style itself is designed to be reusable.
Best of luck with the new book!
I'm not sure why you were surprised, as far as I've seen Zed has generally gone out of his way to be a helpful guy. He's a bit raw and he doesn't like assholes, but he really doesn't deserve the bad rap he got in some circles. Most of it really comes from the aforementioned assholes, who happen to be more PR-savvy than him.
EDIT: Alright done. Project actually now uses reStructuredText instead of LaTeX, mostly because of issues converting LaTeX to anything other than PDF.
Perhaps after I finish "Go, The Standard Library" as well as have a few bigger projects under my belt. By then though, someone will have probably already started on it. To be honest, I believe I heard something about someone starting on this already.
See: http://creativecommons.org/licenses/by-nd/3.0/
I say "most", because you also included the "so long as you do not charge anything for it" phrase in your license. Personally I'm not convinced that matters much in practice, as who is going to be able to charge for something you are giving away for free (and if they do, it'll be on a small scale, and do you really care?), and it's notoriously difficult to define things like commercial use, but if you feel strongly there's always the Non-Commercial variant: http://creativecommons.org/licenses/by-nc-nd/3.0/
Thanks!
Reference: http://learnvimscriptthehardway.stevelosh.com/license.html
If this were software I'd probably use a more structured license, but since it's just a book I think this is fine. Worst case: someone doesn't redistribute it because it's not a CC license. Well... they can still read it online...
Anyway, I have a whole rant on how the CC licenses try to do to copyrighted art what the GPL/BSD does to software and how it just doesn't work the same.
I wish vim would be rewritten from scratch without changing anything but the way you access and modify the guts (and possibly the "windowing" system) so that all the "fancy" plugins like Cmd-T, NerdTree, FuzzyFinder wouldn't look like crap. The maintainability of said plugins would greatly improve too if the scripting language was I don't know, Python, Ruby, Javascript/CSS and whatnot.
I'm sorry to say this, but VimL feels like an esoteric language to me. It's not a weird language per se, but it's certainly a single-purpose language (Vim's dsl) and there is something depressing in that. I don't find this to be the case with Emacs and Elisp (a lisp). Historic reasons aside, I think Lua would have made an excellent scripting language for Vim.
Disclosure: Emacs evil-mode user.
[1]: http://code.google.com/p/vim/source/browse/runtime/doc/helph...
[2]: http://vim.googlecode.com/hg-history/default/runtime/doc/usr...
I love the work you have made with this. I use it as a reference each time I have to make something new.
Also, I like your idea of two-spacing. :)
The other half is a pretty standard syntax, with exception to needing 'call function()', which feels like some old language with a strict statement structure. But the semantics are actually quite similar to JavaScript, dictionaries especially are very straightforward.
To me the worst part of Vimscript is that it allows every word and command to be reduced to the minimum unambiguous set of characters, which is understandable in one-offs in an editing context. But some developers take it a bit far doing big codebases with those horribly shortened keywords, as much as it can be done. It just detracts from the community (people who would like to read code are put off) and quality of open source output.
Those things we always hear about Vimscript sucking are mostly cargo culting by people with no experience with Vimscript in the first place. I personally hate the syntax of Ruby or Objective-C but I don't go around mocking those languages.
Anyway, your comment on shortening commands is very true. Case in point, the great CtrlP plugin:
https://github.com/kien/ctrlp.vim/blob/master/autoload/ctrlp...
It's an awful read but, once you replace all the shorthands with full names, the code is very readable and straightforward. To me, it looks pretty much like a PHP/JS without braces.