Skip to content

Migrating from Vim popular plugins

Bruno Heridet edited this page Feb 4, 2017 · 25 revisions

This page lists how tasks performed by popular Vim plugins can be executed by kakoune native commands.

Plugins

tabular

https://github.com/godlygeek/tabular

Easily align text.

vim usage

from

one = 1
two = 2
three = 3
four = 4

:Tab/=

to

one   = 1
two   = 2
three = 3
four  = 4

kakoune usage

  • select all buffer %
  • select all = chars with s=
  • use the align command &

vim-exchange

https://github.com/tommcdo/vim-exchange

Easy text exchange operator for Vim.

vim usage

cx

On the first use, define the first {motion} to exchange. On the second use, define the second {motion} and perform the exchange.

kakoune usage

Let's say we want to exchange the words bananas and chocolate in the following sentence :

I like bananas but I prefer chocolate

  • select the word bananas
  • save this selection to the default mark register (^) with Z
  • select the word chocolate
  • append the previous selection from the default mark register with <a-z>
  • rotate the selections content with <a-">

Note that this approach is not limited to only 2 selections.

vim-highlightedyank

https://github.com/machakann/vim-highlightedyank

Make the yanked region apparent!

vim usage

By adding this plugin, every time you yank something, like a text-object, it will briefly flash to visually confirm that you yanked what you intented.

kakoune usage

This is in kakoune's DNA to always highlight the current selections, so there's no surprise. It always match your expectations.

vim-textobj-entire

https://github.com/kana/vim-textobj-entire

Entire content of buffer.

vim usage

It avoids the ggVG dance. Let you do things like yie to yank all buffer.

kakoune usage

Use the builtin &. To yank all buffer: &y

vim-textobj-indent

https://github.com/kana/vim-textobj-indent

vim usage

Add the i text object to select a block of lines which are similarly indented to the current line. Example to delete dii.

kakoune usage

Use the builtin i text object. Example to delete <a-i>id

Clone this wiki locally