Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

71%
+3 −0
Q&A Is there a need for better software for writers?

I think a lot of writers miss out by not giving vim a try. In other questions people make lists of ideal features they'd like, such as linking scenes, better dictionary integration with various se...

posted 5y ago by twhitney‭  ·  last activity 4y ago by System‭

Answer
#3: Attribution notice added by user avatar System‭ · 2019-12-08T11:51:25Z (over 4 years ago)
Source: https://writers.stackexchange.com/a/45091
License name: CC BY-SA 3.0
License URL: https://creativecommons.org/licenses/by-sa/3.0/
#2: Initial revision by user avatar twhitney‭ · 2019-12-08T11:51:25Z (over 4 years ago)
I think a lot of writers miss out by not giving vim a try. In other questions people make lists of ideal features they'd like, such as linking scenes, better dictionary integration with various services, etc. The thing is: you can do _all_ of that with vim given enough customization. Each of these could be plugins or even just functions in a .vimrc on github.

Not only do I use vim for day-to-day software development. I use vim pretty much exclusively when I write as well, and it is wonderful. Everyone who knows a bit of vim or is interested in learning should give it a shot. You can do _so_ much. I generally write in the groff .ms format then have a keyboard shortcut that writes the buffer (the file) and re-compiles it to pdf, which takes a second or less. I then have the PDF open in [Zathura](https://wiki.archlinux.org/index.php/Zathura) which automatically refreshes it whenever changes are made. The groff ms format is nice because each sentence goes on its own line and then you can version the entire project in git and see the differences line by line and character by character if you're so inclined. Finally, I have several other files open and switchable:

- An outline file open in a separate split so that I can switch between it and the actual document or refer to it while writing.
- A dedicated file for each character and place of note where important details, background-info, ideas, and plot/development issues are recorded.

Just with vim's out-of-the-box settings with no customization, you can do cool things like:

Editing:

- Type `3)` to move three sentences forward
- Type `5w` to move the cursor forward 5 words
- Type `f"` to move the cursor to the next quote on the line
- Type `cas` to delete the entire sentence and start typing something new
- Type `cip` to delete the paragraph under the cursor start typing a new one.
- Type `2fzdaw` to go to the 2nd `z` after the cursor and delete the whole word in which the `z` occurs.

Movement, useful copying/pasting with registers:

- Create mark to section you're working on with `ma` and move back to that line at any time by typing `'a`
- Copy Character's name e.g. "John" into register j when cursor is in word John: `"jyiw`
- Paste that character's name while typing: `Ctrl-r j`

(Just making these examples up off the top of my head).

Besides all this, vim also opens up a wide world of customization. For instance if I press `\d` then a new split is opened which has the dictionary and thesaurus entries for the word under the cursor. I have another shortcut to add it to a separate file of words I'd like to remember.

You could have a shortcut that will open up the list of character names for the project you're working on and another with a list of place names. Or you could make it so that if the cursor is over a certain character's name then a keyboard-shortcut will open their file of details. The possibilities are endless.

Of course all this has the potential to distract from actual writing.

#1: Imported from external source by user avatar System‭ · 2019-05-09T20:42:36Z (almost 5 years ago)
Original score: 1