Skip to content

Migrating from Vim popular plugins

Douglas Anderson edited this page Apr 2, 2019 · 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> a
  • rotate the selections content with <a-)> forward or <a-(> backward

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

vim-swap

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

Swap delimited items, like function arguments (foo, bar, quux) to (quux, foo, bar)

vim usage

new operator are available to do the swapping g< and g>

kakoune usage

  • select inside the parens with <a-i>(
  • split , chars with S
  • rotate the selections content with <a-)>

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

NERD Commenter / vim-commentary

https://github.com/scrooloose/nerdcommenter https://github.com/tpope/vim-commentary

vim usage

use the new command gc followed by a move or a text-object to add comments.

kakoune usage

use the builtin commands comment-block and comment-line.

syntastic

https://github.com/vim-syntastic/syntastic

vim usage

syntastic runs an external tool in background to find syntax errors. it then updates the UI to show them

kakoune usage

use the builtin lint commands. When you provide the correct path to the external tool for a given language (example eslint for JavaScript files), it will list the errors in a dedicated buffer (similar to location list in vim), add error and warning flags in the gutter and also show inline infoboxes displaying error messages.

vim-gitgutter

https://github.com/airblade/vim-gitgutter

vim usage

vim-gitgutter displays signs like + (green) or - (red) near line numbers indicating additions or deletions of code.

kakoune usage

use the builtin git command git show-diff

Bonus time

Kakoune also has many plugins on its own!

Clone this wiki locally