mirror of
https://github.com/junegunn/fzf.vim.git
synced 2026-01-28 05:42:17 +08:00
Fix #18 - Add g:fzf_command_prefix
This commit is contained in:
@@ -69,8 +69,10 @@ Commands
|
|||||||
| `Helptags` | Help tags <sup id="a1">[1](#helptags)</sup> |
|
| `Helptags` | Help tags <sup id="a1">[1](#helptags)</sup> |
|
||||||
|
|
||||||
- Most commands support `CTRL-T` / `CTRL-X` / `CTRL-V` key
|
- Most commands support `CTRL-T` / `CTRL-X` / `CTRL-V` key
|
||||||
bindings to open in a new tab, a new split, or in a new vertical split.
|
bindings to open in a new tab, a new split, or in a new vertical split
|
||||||
- Bang-versions of the commands (e.g. `Ag!`) will open fzf in fullscreen
|
- Bang-versions of the commands (e.g. `Ag!`) will open fzf in fullscreen
|
||||||
|
- 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.
|
||||||
|
|
||||||
(<a name="helptags">1</a>: `Helptags` will shadow the command of the same name
|
(<a name="helptags">1</a>: `Helptags` will shadow the command of the same name
|
||||||
from [pathogen][pat]. But its functionality is still available via `call
|
from [pathogen][pat]. But its functionality is still available via `call
|
||||||
|
|||||||
@@ -96,8 +96,10 @@ COMMANDS *fzf-vim-commands*
|
|||||||
-----------------+---------------------------------------------------------------------
|
-----------------+---------------------------------------------------------------------
|
||||||
|
|
||||||
- Most commands support CTRL-T / CTRL-X / CTRL-V key bindings to open in a new
|
- Most commands support CTRL-T / CTRL-X / CTRL-V key bindings to open in a new
|
||||||
tab, a new split, or in a new vertical split.
|
tab, a new split, or in a new vertical split
|
||||||
- Bang-versions of the commands (e.g. `Ag!`) will open fzf in fullscreen
|
- Bang-versions of the commands (e.g. `Ag!`) will open fzf in fullscreen
|
||||||
|
- 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.
|
||||||
|
|
||||||
(1: `Helptags` will shadow the command of the same name from {pathogen}{8}.
|
(1: `Helptags` will shadow the command of the same name from {pathogen}{8}.
|
||||||
But its functionality is still available via `call pathogen#helptags()`.)
|
But its functionality is still available via `call pathogen#helptags()`.)
|
||||||
|
|||||||
@@ -30,22 +30,34 @@ function! s:w(bang)
|
|||||||
return a:bang ? {} : copy(get(g:, 'fzf_layout', g:fzf#vim#default_layout))
|
return a:bang ? {} : copy(get(g:, 'fzf_layout', g:fzf#vim#default_layout))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
command! -bang -nargs=? -complete=dir Files call fzf#vim#files(<q-args>, s:w(<bang>0))
|
function! s:defs(commands)
|
||||||
command! -bang Buffers call fzf#vim#buffers(s:w(<bang>0))
|
let prefix = get(g:, 'fzf_command_prefix', '')
|
||||||
command! -bang Lines call fzf#vim#lines(s:w(<bang>0))
|
if prefix =~# '^[^A-Z]'
|
||||||
command! -bang BLines call fzf#vim#buffer_lines(s:w(<bang>0))
|
echoerr 'g:fzf_command_prefix must start with an uppercase letter'
|
||||||
command! -bang Colors call fzf#vim#colors(s:w(<bang>0))
|
return
|
||||||
command! -bang -nargs=1 Locate call fzf#vim#locate(<q-args>, s:w(<bang>0))
|
endif
|
||||||
command! -bang -nargs=* Ag call fzf#vim#ag(<q-args>, s:w(<bang>0))
|
for command in a:commands
|
||||||
command! -bang Tags call fzf#vim#tags(s:w(<bang>0))
|
execute substitute(command, '\ze\C[A-Z]', prefix, '')
|
||||||
command! -bang BTags call fzf#vim#buffer_tags(s:w(<bang>0))
|
endfor
|
||||||
command! -bang Snippets call fzf#vim#snippets(s:w(<bang>0))
|
endfunction
|
||||||
command! -bang Commands call fzf#vim#commands(s:w(<bang>0))
|
|
||||||
command! -bang Marks call fzf#vim#marks(s:w(<bang>0))
|
call s:defs([
|
||||||
command! -bang Helptags call fzf#vim#helptags(s:w(<bang>0))
|
\'command! -bang -nargs=? -complete=dir Files call fzf#vim#files(<q-args>, s:w(<bang>0))',
|
||||||
command! -bang Windows call fzf#vim#windows(s:w(<bang>0))
|
\'command! -bang Buffers call fzf#vim#buffers(s:w(<bang>0))',
|
||||||
command! -bang Commits call fzf#vim#commits(s:w(<bang>0))
|
\'command! -bang Lines call fzf#vim#lines(s:w(<bang>0))',
|
||||||
command! -bang BCommits call fzf#vim#buffer_commits(s:w(<bang>0))
|
\'command! -bang BLines call fzf#vim#buffer_lines(s:w(<bang>0))',
|
||||||
|
\'command! -bang Colors call fzf#vim#colors(s:w(<bang>0))',
|
||||||
|
\'command! -bang -nargs=1 Locate call fzf#vim#locate(<q-args>, s:w(<bang>0))',
|
||||||
|
\'command! -bang -nargs=* Ag call fzf#vim#ag(<q-args>, s:w(<bang>0))',
|
||||||
|
\'command! -bang Tags call fzf#vim#tags(s:w(<bang>0))',
|
||||||
|
\'command! -bang BTags call fzf#vim#buffer_tags(s:w(<bang>0))',
|
||||||
|
\'command! -bang Snippets call fzf#vim#snippets(s:w(<bang>0))',
|
||||||
|
\'command! -bang Commands call fzf#vim#commands(s:w(<bang>0))',
|
||||||
|
\'command! -bang Marks call fzf#vim#marks(s:w(<bang>0))',
|
||||||
|
\'command! -bang Helptags call fzf#vim#helptags(s:w(<bang>0))',
|
||||||
|
\'command! -bang Windows call fzf#vim#windows(s:w(<bang>0))',
|
||||||
|
\'command! -bang Commits call fzf#vim#commits(s:w(<bang>0))',
|
||||||
|
\'command! -bang BCommits call fzf#vim#buffer_commits(s:w(<bang>0))'])
|
||||||
|
|
||||||
function! s:history(arg, bang)
|
function! s:history(arg, bang)
|
||||||
let bang = a:bang || a:arg[len(a:arg)-1] == '!'
|
let bang = a:bang || a:arg[len(a:arg)-1] == '!'
|
||||||
|
|||||||
Reference in New Issue
Block a user