Skip to content

brooth/far.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

far.vim - Find And Replace Vim plugin

Disclaimer

This plugin is completely community-driven. The author has betrayed the pure vim experience and fallen down a slippery slope of using VSCode with a vim plugin. Please do not raise issues without a 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

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 Interactively

:Farr foo bar **/*.py

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

:Farr [params]

Interactive 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]

Interactive F. The interaction is similar to Farr.

Commands in the search 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 setting 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 the 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