Previous: , Up: Parkour   [Contents]

3 Features

3.1 Editor-specific features

Some features could not be abstracted into the Parkour library and had to be implemented in the top-layer code of a particular editor plugin.

3.1.1 Vis

  • objectwise pasting

    This is a generalization over linewise pasting — pasting a previously deleted/yanked sexp object will insert an appropriate whitespace separator (space or newline) before or after the current object. This makes it easy to, say, transpose/barf/slurp, without using the dedicated operators, this way flattening the learning curve a bit. Of course, the dedicated operators have their advantages — fewer keypresses, keeping cursor position, atomic undo, dot-repeatability.

  • splicing delete

    When d-ing a range that ends with a closing delimiter, or starts with an opening one, the matching delimiter will be removed as well, even though it’s not within the range. This merges two paredit concepts — splice-killing-{forward,backward} and splicing — into one. You can use dE, dB, x, or X, but any motion that leads to the above situation will do (even something like d2l).

  • autoselect

    This reverses the typical for vi verb-noun order, and makes vi motions work like those in Kakoune.

    Works better if you tweak your colorscheme to make the visual selection more readable. Traditionally, selected text in vi-like editors is drawn in inverse video and is hard to read.

3.2 Similar software, and differences

Parkour is inspired by a few similar projects - paredit.el, paredit.vim, and vim-sexp.

What sets it apart is

Previous: Concepts, Up: Parkour   [Contents]