DEV Community

Cover image for Vim Is Saving Me Hours of Work When Writing Books & Courses

Vim Is Saving Me Hours of Work When Writing Books & Courses

Nick Janetakis on March 12, 2019

This article was originally posted on February 12th 2019 at: https://nickjanetakis.com/blog/vim-is-saving-me-hours-of-work-when-writing-books-and-c...
Collapse
 
vintharas profile image
Jaime González García • Edited

Really enjoyed reading this article. I found myself nodding many times as I was reading 😁 Thanks for writing!!

What Vim tips do you have for writing?

In addition to what you wrote there's another great plugin by yunnegun that I use when writing: GoYo which is a distraction free mode for Vim.

And then there's another killer feature for writers which is the built-in spell checking. Not only the fact that Vim supports spell check ing out of the box, but that it also has a bunch of mappings for correcting stuff that make you very productive. 😊

Collapse
 
nickjj profile image
Nick Janetakis • Edited

No problem.

Yeah Goyo is in my vimrc file. It's useful sometimes. I say "sometimes" because often times I'm writing about a technical subject where I want a terminal open side by side, or another file so I can reference it while I'm writing.

Yep I use the built in spell check, mapped to F5 to toggle it, and I also use a plugin called vim-SpellCheck which puts all spelling mistakes into the quickfix list (really useful for seeing if an entire file is good to go).

Collapse
 
vintharas profile image
Jaime González García

Awesome! I didn't know about vim-spellcheck, sounds very useful, thanks! 😀

Collapse
 
codingmindfully profile image
Daragh Byrne

Do you script exactly what you are going to say ahead of time? What else is in the text? Code samples? Screenshots (how do you manage those)? I’m in the middle of producing my first online course (The Mindful Developer) and it’s all been PowerPoint slides and heavily edited videos. You’re obviously at a different level and I’m curious where it might go!

Collapse
 
nickjj profile image
Nick Janetakis

I script out everything word for word, and keep nothing more than what I plan to say in that file.

Then I'll read it a couple of times before I'm ready to record it, and while recording I keep it visible off camera but use it as more of a super detailed bullet list.

The script helps me organize my thoughts because that part of my brain that can just wing 10 hours of technical content without missing a beat doesn't exist.

I keep all code samples separate and when it comes to slides, in my older courses I used powerpoint, but nowadays I use the tools available in my video editor to create slides directly in the video timeline.

Collapse
 
codingmindfully profile image
Daragh Byrne

Thank you for this insight. I’ll often do similar if I’m speaking in public. My course is non technical so it has different requirements. I suppose creating the slides has a similar role for me. I admire your thoroughness and dedication.

Collapse
 
nickjj profile image
Nick Janetakis

In some cases this works, like for storing internal numbers for a sortable "position" column in a database.

But in my case, these numbers are publicly visible in the table of the contents. It would be really weird if a course's sections and lessons jumped in increments of 10.

Collapse
 
rugk profile image
rugk • Edited

Just imagine what will happen if you use real Linux and not this WSL-thing… 😉

Collapse
 
nickjj profile image
Nick Janetakis

I tried. Ran into show stopping audio issues: nickjanetakis.com/blog/i-tried-lin...

Also there's really no good video editors on Linux that work as well as Camtasia does on Windows for creating and editing videos that I do for a living.

Collapse
 
rugk profile image
rugk

Okay, that's unfortunate. Did you create any bug report? (okay, I also would not know where)

But well… dual-boot is always an alternative. After all, you hopefully do not need audio recordings that often… ;)

Thread Thread
 
nickjj profile image
Nick Janetakis • Edited

Dual booting isn't an option in this case.

I need to be able to record my Linux environment (both audio and video) all the time. They are for video courses and tutorials that I've been doing for the last ~4 years.

Collapse
 
coolshaurya profile image
Shaurya • Edited

Wow, impressive vim setup.
Do you use neovim?

Collapse
 
nickjj profile image
Nick Janetakis • Edited

Nope, I'm using Vim 8.1 (terminal version) but everything works with Vim 8.0 too.

My dotfiles (vimrc, screenshots, etc.) are at: github.com/nickjj/dotfiles