• Stars
    star
    905
  • Rank 50,477 (Top 1.0 %)
  • Language
    Vim Script
  • License
    MIT License
  • Created about 8 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Find And Replace Vim plugin

far.vim - Find And Replace Vim plugin

Disclaimer

This plugin is completly community driven. The author has betrayed the pure vim expirience and fell down a slippery slope of using VSCode with a vim plugin. Please do not raise issues without an PR, they will be ignored anyway.

Intro

Far.vim makes it easier to find and replace text through multiple files. It's inspired by fancy IDEs, like IntelliJ and Eclipse, that provide cozy tools for such tasks.

Installation

vim-plug

Plug 'brooth/far.vim'

Usage

Searching with Command

:Far foo bar **/*.py
:Fardo

far.vim

:Far {pattern} {replace-with} {file-mask} [params]

Find the text to replace.

:F {pattern} {file-mask} [params]

Find only.

Searching Interatively

:Farr foo bar **/*.py

ScreenShot 2020-02-02 01 59 19 2020-02-02 02_03_50

:Farr [params]

Interative Far. Shows searching modes in the status bar (regex, case sensitive, word boundary, replace). Modes can be toggled by the key mapping it prompted. Allows to enter {pattern}, {replace-with} and {file-mask} one after the other.

:Farf [params]

Interative F. The interaction is similar to Farr.

Commands in the searching result window

:Fardo [params]

Runs the replacement task. The shortcut for it is s (substitute).

:Farundo [params]

Undo the recurrent replacement. The shortcut for it is u (undo). It is available when set let g:far#enable_undo=1.

:Refar [params]

Change Far/F/Farr/Farf params.

Need help?

:help far.vim

Extras

Multiline Replacement

multiline

Neovim-Async, Ack, Ag, Ripgrep support

nvim

Command-Line Completion

complete

Consistency Check

consistency

..and many more! Check out :help far.vim.

Troubleshooting

Recommented Setting

You can add he following settings to your vim configuration:

set lazyredraw            " improve scrolling performance when navigating through large results
set regexpengine=1        " use old regexp engine
set ignorecase smartcase  " ignore case only when the pattern contains no capital letters

" shortcut for far.vim find
nnoremap <silent> <Find-Shortcut>  :Farf<cr>
vnoremap <silent> <Find-Shortcut>  :Farf<cr>

" shortcut for far.vim replace
nnoremap <silent> <Replace-Shortcut>  :Farr<cr>
vnoremap <silent> <Replace-Shortcut>  :Farr<cr>

License

MIT