Skip to content

Latest commit

 

History

History
67 lines (40 loc) · 4.63 KB

OVIToDo.org

File metadata and controls

67 lines (40 loc) · 4.63 KB

#+ TITLE: OVIWrite

About

Vim is a powerful instrument for the manipulation of text. Transitionally, Vim has been a tool for programmers, but this very same user base utilizes Vim for writing prose, particularly when it comes to writing documentation for the software that they are working on.

However, Vim doesn’t come configured out-of-the-box for writing and writers. Instead, it requires (and rewards) users who take the time to mould their Vim configuration to their exact specifications.

Writers also, like their programmer counterparts, use tools to help keep them organized. TODOs, notes, scratchpads for taking down ideas are some of the many ways both sets of users work on similar tasks, but the difference is that programmers possess the skills needed to ‘scratch an itch’.

No app or software is perfect, but most closed and proprietary software stop the user from digging too deep: don’t like the keyboard shortcuts? Okay, you can change some of the keyboard shortcuts. Want the functionality to be extended or modified? Tough luck.

Vim, like other free and open source software (FOSS) allow for deep modifications that go well beyond cosmetic modifications allowed by proprietary software.

The result is an open eco-system of passionate users who create plugins to scratch their own itch - some of these are itches we all share. For writers, the list of complaints about their writing software can be long. For me, it was:

  1. Speed - MS Word is too damn slow
  2. Distraction-free - often when I am writing on MS Word, I am distracted by the default formatting. Any attempt to clean that up will mean that I am taking valuable time and focus away from the content of my writing
  3. Version control - Tracking of changes in individual files on MS Word is useful, but soon results in an unreadable document; a better way is for the writing application to be ready for Version Control workflows.
  4. Platform independent - Ever tried writing on the mobile versions of MSWord? I have. And it sucks. This configuration has been tested out on Android 11 via Termux, on MacOS, and on Linux. It should work on Windows but I am yet to test that.

Unfortunately, most writers on the whole also don’t possess the technical skills needed to configure their Vimrc files, unless they have time on their hands.

I had time on my hands (thanks, Covid, I guess?), which is how I have spent the last few months incorporating and integrating Vim as an essential component of my workflow. OVIWrite is the result of all this work.

Most of the configuration that you will see here is borrowed code from other users’ .vimrcs - to all of you, thank you.

TL;DR: OVIWrite is a (Neo)Vim configuration meant for writers and writing.

Approach

I am firstly a writer - most of what I’ve learnt on Vim is through a combination of YouTube, Medium, Reddit, GitHub, and first hand experience. My personal Vimrc is a reflection of that.

The configuration files in this repo are cleaner more streamlined versions. I’ve removed more advanced settings and plugins, aiming for a seamless (or as seamless as it could possibly be for someone new to Vim) transition for writers from their existing word processor software, such as MS Word.

A Note on Plugins

I use a combination of pure Vim plugins along with NeoVim plugins written in Lua, which run exclusively on NeoVim.

As noted elsewhere in the README, my personal rule of thumb when I am working on Vim or NeoVim is that the plugins written for the former will work on the latter (this is true in my case, with the only Vim plugin that doesn’t work being Vim-Wiki); NeoVim plugins written in Lua won’t work.

Adding both sets of plugins to one Vimrc file will make it hard for any newcomer to understand what is going, let alone newcomers with little technical background in changing configuration files.

The solution then is to have two version of the files: a traditional .Vimrc with only Vim plugins, and a init.lua configuration file for NeoVim that will feature BOTH Vim and NeoVim plugins.

Plugin Manager

My Plugin manager is Vim-Plug on Vim, and Packer on NeoVim. The former is easy to use and allows for easier adding of plugins and modification to an individual’s specification. Packer is more powerful, but requires a little more work - particularly when it comes to profile management and lazy-loading of plugins.

Pure Vim Version

  • About

The pure Vim version of OVIWrite will feature ONLY vim plugins.

  • Settings
  • Global Keymaps
  • Plugins
  • Plugin-Keymaps

Nvim Version

  • About

The NeoVim version of OVIWrite will feature both vim and NeoVim plugins.

  • Settings
  • Global Keymaps
  • Plugins
  • Plugin-Keymaps