Skip to content

adriaanzon/vim-textobj-matchit

Repository files navigation

vim-textobj-matchit

A Vim plugin that creates text objects from matchit pairs, to be used with:

  • Ruby (if…end, def…end)
  • Blade (@section…@endsection)
  • Shell (if…fi, for…done)
  • Vim script (if…endif, for…endfor)
  • 🤷‍♂️ Any other filetype that defines similar matchit pairs

📦 Installation

Depends on vim-textobj-user and matchit.

Plug 'kana/vim-textobj-user'
Plug 'adriaanzon/vim-textobj-matchit'

runtime macros/matchit.vim

It's likely that matchit is already enabled. You can check so by running :echo g:loaded_matchit. It will return 1 when it's enabled.

✨ Usage

Textobj-matchit maps 2 keystrokes: am and im. They work like any other text object: am selects the all of the matchit pair, im the inner portion of the matchit pair.

See :h textobj-matchit for more details, including instructions on how to define your own key mappings.

👨‍🏫 History

This plugin derives from vim-textobj-rubyblock and vim-textobj-blade-directive. I wanted something similar that works for every filetype, so that is why I created this plugin.

📄 License

Copyright © Adriaan Zonnenberg. Distributed under the same terms as Vim itself. See :help license.

Releases

No releases published

Packages

No packages published