Mui::Fzf
fzf integration plugin for Mui editor.
Provides :Fzf, :Rg, and :Ag commands for fuzzy file searching.
Requirements
- fzf must be installed
- For
:Rgcommand: ripgrep - For
:Agcommand: The Silver Searcher
Installation
Add this line to your application's Gemfile:
gem 'mui-fzf'And then execute:
$ bundle installOr install it yourself as:
$ gem install mui-fzfUsage
Add the following to your ~/.muirc:
Mui.use "mui-fzf"Commands
| Command | Description |
|---|---|
:Fzf |
Open fzf file finder with preview |
:Rg |
Interactive ripgrep search (type to search file contents) |
:Rg [query] |
Interactive ripgrep search with initial query |
:Ag |
Interactive ag search (type to search file contents) |
:Ag [query] |
Interactive ag search with initial query |
Interactive Search (:Rg and :Ag)
The :Rg and :Ag commands provide interactive grep functionality:
-
Without arguments (
:Rgor:Ag):- Opens fzf with an empty search field
- Start typing to search file contents in real-time
- Results update as you type
-
With arguments (
:Rg patternor:Ag pattern):- Opens fzf with the pattern pre-filled
- Initial results are shown immediately
- Modify the query to refine results
-
Opening files:
- Select a result and press Enter
- The file opens at the matching line number
- Status line shows the opened file and line number
Key Mappings
You can add custom key mappings in your ~/.muirc:
# Ctrl-P to open fzf
Mui.keymap :normal, "<C-p>" do |ctx|
ctx.run_command :Fzf
end
# Space + f for fzf
Mui.keymap :normal, "<Space>f" do |ctx|
ctx.run_command :Fzf
end
# Space + r for ripgrep
Mui.keymap :normal, "<Space>r" do |ctx|
ctx.run_command :Rg
endDevelopment
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/S-H-GAMELINKS/mui-fzf.
License
The gem is available as open source under the terms of the MIT License.