What is it ?

Wheel is a :

  • file group manager
  • navigation plugin
  • refactoring tool

for Vim and Neovim.

Our favorite editor has already plenty of nice navigation functions. Wheel enhances their interface by using :

  • intuitive completion with multi-pattern support for prompting functions
  • dedicated buffers, in which you can filter and select elements, besides using the full power of your editor
  • a meta-command with subcommands, actions and completion
  • edit modes, that allow you to reflect your changes in a dedicated buffer to the original file(s)

With these tools, any line in any file is only a few keys away.

All is written in lightweight, classical Vimscript.

Features

The group manager is the core, but it goes far beyond that : you need a quick navigation framework to travel in the wheel, and once it is there, it’s easy to add new functionalities.

  • folding based on headings in org and markdown files
  • headings based on folding in folded files
    • you can handle your folds like headings in orgmode
  • navigate in headings or list items hierarchy
    • next, previous : any level
    • forward, backward : same level as current one
    • parent heading, upper level
    • child heading, lower level :
      • loosely speaking : first headline of level + 1, forward
      • strictly speaking : must be in the current subtree
    • go to another headline with prompt completion of full path
  • modify headings or list items
    • new headline or list item
    • select, yank, delete subtree
    • promote, demote heading or list item
    • move subtree up or down
    • move current subtree in another one (aka org-refile)
    • cycle todo status
  • headlines
    • tags
  • lists
    • cycle list item prefix
    • toggle checkbox
    • checked boxes ratio on parent item
  • tables
    • inside of table : align columns
      • also works with multibyte characters
    • outside of table : align following a pattern
    • go to next or previous cell
    • go to beginning or end of cell
    • duplicate above cell content to current one
    • select cell content
    • add new row, colum
    • delete row, colum
    • move row up or down
    • move column left or right
  • links
    • store url at cursor
    • create link with url completion
    • goto link under or close to cursor
    • goto next/previous link
  • expand shortcut to template (aka org-structure-template)
    • markdown support limited to code blocks
  • insert timestamp
  • insert unicode character
    • refer to autoload/organ/unicode.vim to see available chars
  • insert result of vim or python expression
  • export in another format using
    • pandoc
    • emacs
    • asciidoc or asciidoctor
    • view exported document
  • convert headings and links org <-> markdown