mirror of
https://github.com/junegunn/fzf.vim.git
synced 2025-12-08 05:24:47 +08:00
@@ -52,6 +52,8 @@ so you can omit it if you use a plugin manager that doesn't support hooks.
|
|||||||
|
|
||||||
- [fzf][fzf-main] 0.23.0 or above
|
- [fzf][fzf-main] 0.23.0 or above
|
||||||
- For syntax-highlighted preview, install [bat](https://github.com/sharkdp/bat)
|
- For syntax-highlighted preview, install [bat](https://github.com/sharkdp/bat)
|
||||||
|
- `:GF?` will use [delta](https://github.com/dandavison/delta) if available
|
||||||
|
to format `git diff` output
|
||||||
- `Ag` requires [The Silver Searcher (ag)][ag]
|
- `Ag` requires [The Silver Searcher (ag)][ag]
|
||||||
- `Rg` requires [ripgrep (rg)][rg]
|
- `Rg` requires [ripgrep (rg)][rg]
|
||||||
- `Tags` and `Helptags` require Perl
|
- `Tags` and `Helptags` require Perl
|
||||||
|
|||||||
@@ -623,10 +623,16 @@ function! fzf#vim#gitfiles(args, ...)
|
|||||||
" Here be dragons!
|
" Here be dragons!
|
||||||
" We're trying to access the common sink function that fzf#wrap injects to
|
" We're trying to access the common sink function that fzf#wrap injects to
|
||||||
" the options dictionary.
|
" the options dictionary.
|
||||||
|
let preview = printf(
|
||||||
|
\ 'sh -c "if [[ {1} =~ M ]]; then %s; else %s {-1}; fi"',
|
||||||
|
\ executable('delta')
|
||||||
|
\ ? 'git diff -- {-1} | delta --file-style=omit | sed 1d'
|
||||||
|
\ : 'git diff --color=always -- {-1} | sed 1,4d',
|
||||||
|
\ s:bin.preview)
|
||||||
let wrapped = fzf#wrap({
|
let wrapped = fzf#wrap({
|
||||||
\ 'source': 'git -c color.status=always status --short --untracked-files=all',
|
\ 'source': 'git -c color.status=always status --short --untracked-files=all',
|
||||||
\ 'dir': root,
|
\ 'dir': root,
|
||||||
\ 'options': ['--ansi', '--multi', '--nth', '2..,..', '--tiebreak=index', '--prompt', 'GitFiles?> ', '--preview', 'sh -c "(git diff --color=always -- {-1} | sed 1,4d; cat {-1}) | head -1000"']
|
\ 'options': ['--ansi', '--multi', '--nth', '2..,..', '--tiebreak=index', '--prompt', 'GitFiles?> ', '--preview', preview]
|
||||||
\})
|
\})
|
||||||
call s:remove_layout(wrapped)
|
call s:remove_layout(wrapped)
|
||||||
let wrapped.common_sink = remove(wrapped, 'sink*')
|
let wrapped.common_sink = remove(wrapped, 'sink*')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
fzf-vim.txt fzf-vim Last change: October 22 2020
|
fzf-vim.txt fzf-vim Last change: December 12 2020
|
||||||
FZF-VIM - TABLE OF CONTENTS *fzf-vim* *fzf-vim-toc*
|
FZF-VIM - TABLE OF CONTENTS *fzf-vim* *fzf-vim-toc*
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
@@ -92,14 +92,16 @@ so you can omit it if you use a plugin manager that doesn't support hooks.
|
|||||||
|
|
||||||
- {fzf}{1} 0.23.0 or above
|
- {fzf}{1} 0.23.0 or above
|
||||||
- For syntax-highlighted preview, install {bat}{5}
|
- For syntax-highlighted preview, install {bat}{5}
|
||||||
- `Ag` requires {The Silver Searcher (ag)}{6}
|
- `:GF?` will use {delta}{6} if available to format `git diff` output
|
||||||
- `Rg` requires {ripgrep (rg)}{7}
|
- `Ag` requires {The Silver Searcher (ag)}{7}
|
||||||
|
- `Rg` requires {ripgrep (rg)}{8}
|
||||||
- `Tags` and `Helptags` require Perl
|
- `Tags` and `Helptags` require Perl
|
||||||
|
|
||||||
{1} https://github.com/junegunn/fzf
|
{1} https://github.com/junegunn/fzf
|
||||||
{5} https://github.com/sharkdp/bat
|
{5} https://github.com/sharkdp/bat
|
||||||
{6} https://github.com/ggreer/the_silver_searcher
|
{6} https://github.com/dandavison/delta
|
||||||
{7} https://github.com/BurntSushi/ripgrep
|
{7} https://github.com/ggreer/the_silver_searcher
|
||||||
|
{8} https://github.com/BurntSushi/ripgrep
|
||||||
|
|
||||||
|
|
||||||
COMMANDS *fzf-vim-commands*
|
COMMANDS *fzf-vim-commands*
|
||||||
@@ -117,8 +119,8 @@ COMMANDS *fzf-vim-commands*
|
|||||||
`:GFiles?` | Git files ( `git status` )
|
`:GFiles?` | Git files ( `git status` )
|
||||||
`:Buffers` | Open buffers
|
`:Buffers` | Open buffers
|
||||||
`:Colors` | Color schemes
|
`:Colors` | Color schemes
|
||||||
`:Ag [PATTERN]` | {ag}{6} search result ( `ALT-A` to select all, `ALT-D` to deselect all)
|
`:Ag [PATTERN]` | {ag}{7} search result ( `ALT-A` to select all, `ALT-D` to deselect all)
|
||||||
`:Rg [PATTERN]` | {rg}{7} search result ( `ALT-A` to select all, `ALT-D` to deselect all)
|
`:Rg [PATTERN]` | {rg}{8} search result ( `ALT-A` to select all, `ALT-D` to deselect all)
|
||||||
`:Lines [QUERY]` | Lines in loaded buffers
|
`:Lines [QUERY]` | Lines in loaded buffers
|
||||||
`:BLines [QUERY]` | Lines in the current buffer
|
`:BLines [QUERY]` | Lines in the current buffer
|
||||||
`:Tags [QUERY]` | Tags in the project ( `ctags -R` )
|
`:Tags [QUERY]` | Tags in the project ( `ctags -R` )
|
||||||
@@ -129,8 +131,8 @@ COMMANDS *fzf-vim-commands*
|
|||||||
`:History` | `v:oldfiles` and open buffers
|
`:History` | `v:oldfiles` and open buffers
|
||||||
`:History:` | Command history
|
`:History:` | Command history
|
||||||
`:History/` | Search history
|
`:History/` | Search history
|
||||||
`:Snippets` | Snippets ({UltiSnips}{8})
|
`:Snippets` | Snippets ({UltiSnips}{9})
|
||||||
`:Commits` | Git commits (requires {fugitive.vim}{9})
|
`:Commits` | Git commits (requires {fugitive.vim}{10})
|
||||||
`:BCommits` | Git commits for the current buffer
|
`:BCommits` | Git commits for the current buffer
|
||||||
`:Commands` | Commands
|
`:Commands` | Commands
|
||||||
`:Maps` | Normal mode mappings
|
`:Maps` | Normal mode mappings
|
||||||
@@ -146,14 +148,14 @@ COMMANDS *fzf-vim-commands*
|
|||||||
- You can set `g:fzf_command_prefix` to give the same prefix to the commands
|
- You can set `g:fzf_command_prefix` to give the same prefix to the commands
|
||||||
- e.g. `let g:fzf_command_prefix = 'Fzf'` and you have `FzfFiles`, etc.
|
- e.g. `let g:fzf_command_prefix = 'Fzf'` and you have `FzfFiles`, etc.
|
||||||
|
|
||||||
(1: `Helptags` will shadow the command of the same name from {pathogen}{10}.
|
(1: `Helptags` will shadow the command of the same name from {pathogen}{11}.
|
||||||
But its functionality is still available via `call pathogen#helptags()`.)
|
But its functionality is still available via `call pathogen#helptags()`.)
|
||||||
|
|
||||||
{6} https://github.com/ggreer/the_silver_searcher
|
{7} https://github.com/ggreer/the_silver_searcher
|
||||||
{7} https://github.com/BurntSushi/ripgrep
|
{8} https://github.com/BurntSushi/ripgrep
|
||||||
{8} https://github.com/SirVer/ultisnips
|
{9} https://github.com/SirVer/ultisnips
|
||||||
{9} https://github.com/tpope/vim-fugitive
|
{10} https://github.com/tpope/vim-fugitive
|
||||||
{10} https://github.com/tpope/vim-pathogen
|
{11} https://github.com/tpope/vim-pathogen
|
||||||
|
|
||||||
|
|
||||||
CUSTOMIZATION *fzf-vim-customization*
|
CUSTOMIZATION *fzf-vim-customization*
|
||||||
@@ -268,7 +270,7 @@ Want a preview window?
|
|||||||
\ call fzf#vim#files(<q-args>, {'options': ['--layout=reverse', '--info=inline', '--preview', 'cat {}']}, <bang>0)
|
\ call fzf#vim#files(<q-args>, {'options': ['--layout=reverse', '--info=inline', '--preview', 'cat {}']}, <bang>0)
|
||||||
<
|
<
|
||||||
It kind of works, but you probably want a nicer previewer program than `cat`.
|
It kind of works, but you probably want a nicer previewer program than `cat`.
|
||||||
fzf.vim ships {a versatile preview script}{11} you can readily use. It
|
fzf.vim ships {a versatile preview script}{12} you can readily use. It
|
||||||
internally executes {bat}{5} for syntax highlighting, so make sure to install
|
internally executes {bat}{5} for syntax highlighting, so make sure to install
|
||||||
it.
|
it.
|
||||||
>
|
>
|
||||||
@@ -289,7 +291,7 @@ You can just omit the spec argument if you only want the previewer.
|
|||||||
command! -bang -nargs=? -complete=dir Files
|
command! -bang -nargs=? -complete=dir Files
|
||||||
\ call fzf#vim#files(<q-args>, fzf#vim#with_preview(), <bang>0)
|
\ call fzf#vim#files(<q-args>, fzf#vim#with_preview(), <bang>0)
|
||||||
<
|
<
|
||||||
{11} bin/preview.sh
|
{12} bin/preview.sh
|
||||||
{5} https://github.com/sharkdp/bat
|
{5} https://github.com/sharkdp/bat
|
||||||
|
|
||||||
|
|
||||||
@@ -303,7 +305,7 @@ predefined `Ag` or `Rg` using `fzf#vim#grep`.
|
|||||||
not print column numbers.
|
not print column numbers.
|
||||||
- We set the base directory to git root by setting `dir` attribute in spec
|
- We set the base directory to git root by setting `dir` attribute in spec
|
||||||
dictionary.
|
dictionary.
|
||||||
- {The preview script}{11} supports `grep` format (`FILE_PATH:LINE_NO:...`), so
|
- {The preview script}{12} supports `grep` format (`FILE_PATH:LINE_NO:...`), so
|
||||||
we can just wrap the spec with `fzf#vim#with_preview` as before to enable
|
we can just wrap the spec with `fzf#vim#with_preview` as before to enable
|
||||||
previewer.
|
previewer.
|
||||||
>
|
>
|
||||||
@@ -312,7 +314,7 @@ predefined `Ag` or `Rg` using `fzf#vim#grep`.
|
|||||||
\ 'git grep --line-number -- '.shellescape(<q-args>), 0,
|
\ 'git grep --line-number -- '.shellescape(<q-args>), 0,
|
||||||
\ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0)
|
\ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0)
|
||||||
<
|
<
|
||||||
{11} bin/preview.sh
|
{12} bin/preview.sh
|
||||||
|
|
||||||
|
|
||||||
Example: Rg command with preview window~
|
Example: Rg command with preview window~
|
||||||
@@ -456,10 +458,10 @@ following exceptions:
|
|||||||
STATUS LINE OF TERMINAL BUFFER *fzf-vim-status-line-of-terminal-buffer*
|
STATUS LINE OF TERMINAL BUFFER *fzf-vim-status-line-of-terminal-buffer*
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
When fzf starts in a terminal buffer (see {fzf/README-VIM.md}{12}), you may
|
When fzf starts in a terminal buffer (see {fzf/README-VIM.md}{13}), you may
|
||||||
want to customize the statusline of the containing buffer.
|
want to customize the statusline of the containing buffer.
|
||||||
|
|
||||||
{12} https://github.com/junegunn/fzf/blob/master/README-VIM.md#fzf-inside-terminal-buffer
|
{13} https://github.com/junegunn/fzf/blob/master/README-VIM.md#fzf-inside-terminal-buffer
|
||||||
|
|
||||||
|
|
||||||
< Hide statusline >___________________________________________________________~
|
< Hide statusline >___________________________________________________________~
|
||||||
|
|||||||
Reference in New Issue
Block a user