Awesome Open Source
Awesome Open Source

far.vim - Find And Replace Vim plugin


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.


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.



Plug 'brooth/far.vim'


Searching with Command

:Far foo bar **/*.py


: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


Multiline Replacement


Neovim-Async, Ack, Ag, Ripgrep support


Command-Line Completion


Consistency Check


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


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>



Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
vim-script (1,363
vim (907
neovim (386