vim-wordy

Uncover usage problems in your writing

Github stars Tracking Chart

vim-wordy

Uncover usage problems in your writing


demo


Features of the wordy plugin

  • Pure Vimscript; no external services or libraries needed
  • Uses Vim’s native spell-check engine
  • Includes 16 dictionaries covering different types of word usage
  • Buffer-scoped configuration (leaves your global settings alone)
  • Unicode-friendly, including support for ‘typographic quotes’
  • User-configurable ring of dictionaries
  • NEW adjectives and adverbs, to help you detect overuse

What is wordy?

wordy is not a grammar checker. Nor is it a guide to proper word usage.
Rather, wordy is a lightweight tool to assist you in identifying
those words and phrases known for their history of misuse, abuse, and
overuse, at least according to usage experts.

For example, if wordy highlights moreover in your document, a word for
which no good usage exists, you should consider a rewrite to eliminate it.
But if wordy highlights therefore in a sentence where you can demonstrate
the usage is sound, you can elect to keep it —wordy be damned.

Why wordy?

Off-the-shelf proofreading software can scan your text for potential problems
and provide comprehensive feedback. However, it may require a complex
software installation or transmission of your work to a remote server for
checking.

wordy stands ready as a simple alternative to these comprehensive tools,
focusing narrowly on identifying potential problems that might otherwise
be missed. To compensate for wordy’s bare-bones approach, it’s best used
in concert with the literature on usage (Strunk and White, e.g.)
and websites like the English Language & Usage Stack Exchange.

Requirements

wordy may require a recent version of Vim.

Installation

wordy is best installed using a Vim package manager, such as
Vundle, Plug, NeoBundle, or Pathogen.

Configuration

On demand

Using this plugin’s commands does not require any special configuration.

Important note: on the first use of each of the plugin’s dictionaries,
a spell file will be built. This produces a message that resembles:

Reading word file /Users/reede/.vim/bundle/vim-wordy/data/en/weasel.dic ...
Compressing word tree...
Compressed 618 of 1738 nodes; 1120 (64%) remaining
Writing spell file /Users/reede/.vim/bundle/vim-wordy/spell/weasel.en.utf-8.spl ...
Done!
Estimated runtime memory use: 5600 bytes
Press ENTER or type command to continue

As instructed, press the enter key and it will disturb you no longer, at
least until wordy feels the urge to build again.

Ring navigation

Define your own ring of dictionaries, overriding the default one in your
.vimrc:

let g:wordy#ring = [
  \ 'weak',
  \ ['being', 'passive-voice', ],
  \ 'business-jargon',
  \ 'weasel',
  \ 'puffery',
  \ ['problematic', 'redundant', ],
  \ ['colloquial', 'idiomatic', 'similies', ],
  \ 'art-jargon',
  \ ['contractions', 'opinion', 'vague-time', 'said-synonyms', ],
  \ 'adjectives',
  \ 'adverbs',
  \ ]

You can navigate the ring with the following commands:

:NextWordy
:PrevWordy

Optionally map a key in your .vimrc to rapidly cycle through the
ring's dictionaries:

noremap <silent> <F8> :<C-u>NextWordy<cr>
xnoremap <silent> <F8> :<C-u>NextWordy<cr>
inoremap <silent> <F8> <C-o>:NextWordy<cr>

You can browse through a flattened list of dictionaries
specified in your ring with:

:Wordy <tab>

and optionally map a key such as \w in your .vimrc to it by

if !&wildcharm, set wildcharm=<C-z>, endif
execute 'nnoremap <leader>w :Wordy<space>'.nr2char(&wildcharm)

Using wordy

You’ll use the commands that follow to enable wordy. To disable it and
restore your previous spell environment, enter the command:

:NoWordy

Use Vim’s Normal mode commands for navigating misspelled words to
go to those words flagged by wordy.

  • ]s - Move to next misspelled word after the cursor.
  • [s - Like ]s but search backwards

Weak and lazy usage

:Wordy weak

Weak and lazy words are common in first drafts.

We sabotage our writing though weak language, kicking the legs out from
beneath our verbs and tearing at the foundations of our nouns, watering
down the very points that we are trying to drive home.

  • “I got up at precisely 8 AM.” (weak)
  • “I woke up at precisely 8 AM.” (better)

We diminish the weight of our ideas by adding modifiers and fillers.

  • “That night was perhaps the most important moment of my life, and I don't think I'll ever forget it.” (weak)
  • “That night was the most important moment of my life, and I'll never forget it.” (better)

Words can also be weakened through overuse.

  • “He actually drove to work in the blizzard.” (weak)
  • “He drove to work in spite of the blizzard.” (better)

When using this dictionary, scrutinize each highlighted word or phrase,
asking whether it detracts from the point you are trying to make.

Redundant and problematic usage

:Wordy redundant
:Wordy problematic

Did you ever receive an ‘advance warning’ when a mere warning would do?
Why plan when you can ‘plan ahead’? Why need a thought to ‘occur to you’
when the thought can merely ‘occur’?

But redundancies may not actually be redundant: ‘invited guests’ may not
if some of the guests have crashed your event. Or dialect differences can
erase redundancies, as the British will ‘protest against’ where Americans
will simply ‘protest’.

See 50 Problem Words and Phrases for more detail on those issues
targeted by problematic.

Puffery and Jargon

“The man embodies authenticity; his disruptive ideas on
self-actualization reflect his dynamic and transformative
personality.” (puffery and jargon)

:Wordy puffery
:Wordy business-jargon
:Wordy art-jargon

Instead of puffery, demonstrate through details.

  • “The Empire State Building is breathtakingly tall.” (puffery)
  • “My ears popped several times during the rapid ascent to the 80th
    floor.” (better)

Manipulative language

:Wordy weasel

Words can be used to hide or obscure a weak position, or to cast doubt on
a strong one. They can be used to mislead, to evade blame, or to claim credit
where none has been earned.

  • “mistakes were made”
  • “discounted up to 50% off”
  • “most voters feel that my opponent can’t be trusted”

Assuming that you’re not intentionally trying to manipulate others, you
will seek to purge such loaded language from your writing.

To be and the passive voice

:Wordy being
:Wordy passive-voice

You may find this dictionary useful in avoiding overuse of the many forms
of the verb to be, often found in overly-passive sentences.

Colloquialisms, Idioms, and Similies

:Wordy colloquial
:Wordy idiomatic
:Wordy similies

Dictionaries for uncovering the tired cliché, including colloquial and
idiomatic phrases scraped from Wiktionary and Wikipedia.

Adjectives and Adverbs

:Wordy adjectives
:Wordy adverbs

Dictionaries to help you detect the overuse of modifiers.

Miscellaneous

:Wordy said-synonyms
:Wordy opinion
:Wordy contractions
:Wordy vague-time

A few dictionaries to serve specific needs.

If you’re writing to be neutral, you will want to avoid editorializing
(opinion) and loaded use of ‘said’ (said-synonyms).

If you’re writing formally, you’ll want to identify unintentional
contractions with contractions. A warning that it’s not yet capturing most
instances of “’s”, such as “Joe’s not here.”

And finally, vague-time finds where you are using vague descriptions of
time where you could be more specific.

See also

If you find this plugin useful, you may want to check out these others by
@reedes:

Future development

This early version targets English usage issues and utf-8 encoding.
Support for other languages will be added if there’s interest. (Hint: pull
requests!)

wordy is a work in progress. If you’ve spotted a problem or have an idea
on improving this plugin, please post it to the github project issue page.
Contributions are welcome.

Main metrics

Overview
Name With Ownerpreservim/vim-wordy
Primary LanguageVim Script
Program languageVim script (Language Count: 1)
Platform
License:Other
所有者活动
Created At2014-01-17 06:30:49
Pushed At2022-02-13 12:37:47
Last Commit At2022-02-12 20:56:18
Release Count3
Last Release Namev1.2 (Posted on )
First Release Namev1.0 (Posted on )
用户参与
Stargazers Count721
Watchers Count15
Fork Count22
Commits Count94
Has Issues Enabled
Issues Count29
Issue Open Count14
Pull Requests Count10
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private