mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-12-23 11:29:01 +00:00
parent
2add45fe2f
commit
853012ceef
27
README.md
27
README.md
@ -276,34 +276,17 @@ If you have set up fzf for Vim, `:FZF` command will be added.
|
|||||||
|
|
||||||
" With options
|
" With options
|
||||||
:FZF --no-sort -m /tmp
|
:FZF --no-sort -m /tmp
|
||||||
|
|
||||||
|
" Bang version starts in fullscreen instead of using tmux pane or Neovim split
|
||||||
|
:FZF!
|
||||||
```
|
```
|
||||||
|
|
||||||
Similarly to [ctrlp.vim](https://github.com/kien/ctrlp.vim), use enter key,
|
Similarly to [ctrlp.vim](https://github.com/kien/ctrlp.vim), use enter key,
|
||||||
`CTRL-T`, `CTRL-X` or `CTRL-V` to open selected files in the current window,
|
`CTRL-T`, `CTRL-X` or `CTRL-V` to open selected files in the current window,
|
||||||
in new tabs, in horizontal splits, or in vertical splits respectively.
|
in new tabs, in horizontal splits, or in vertical splits respectively.
|
||||||
|
|
||||||
Note that the environment variables `FZF_DEFAULT_COMMAND` and `FZF_DEFAULT_OPTS`
|
Note that the environment variables `FZF_DEFAULT_COMMAND` and
|
||||||
also apply here.
|
`FZF_DEFAULT_OPTS` also apply here.
|
||||||
|
|
||||||
If you're on a tmux session or using Neovim, `:FZF` will launch fzf in a
|
|
||||||
split-window whose height can be adjusted with `g:fzf_height` (default:
|
|
||||||
'40%'). However, the bang version (`:FZF!`) will always start in fullscreen.
|
|
||||||
|
|
||||||
In GVim, you need an external terminal emulator to start fzf with. `xterm`
|
|
||||||
command is used by default, but you can customize it with `g:fzf_launcher`.
|
|
||||||
|
|
||||||
```vim
|
|
||||||
" This is the default. %s is replaced with fzf command
|
|
||||||
let g:fzf_launcher = 'xterm -e bash -ic %s'
|
|
||||||
|
|
||||||
" Use urxvt instead
|
|
||||||
let g:fzf_launcher = 'urxvt -geometry 120x30 -e sh -c %s'
|
|
||||||
```
|
|
||||||
|
|
||||||
If you're running MacVim on OSX, I recommend you to use iTerm2 as the launcher.
|
|
||||||
Refer to the [this wiki
|
|
||||||
page](https://github.com/junegunn/fzf/wiki/On-MacVim-with-iTerm2) to see how
|
|
||||||
to set up.
|
|
||||||
|
|
||||||
#### `fzf#run([options])`
|
#### `fzf#run([options])`
|
||||||
|
|
||||||
|
@ -308,23 +308,26 @@ function! s:callback(dict, temps)
|
|||||||
return lines
|
return lines
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
let s:default_action = {
|
||||||
|
\ 'ctrl-m': 'e',
|
||||||
|
\ 'ctrl-t': 'tabedit',
|
||||||
|
\ 'ctrl-x': 'split',
|
||||||
|
\ 'ctrl-v': 'vsplit' }
|
||||||
|
|
||||||
function! s:cmd_callback(lines) abort
|
function! s:cmd_callback(lines) abort
|
||||||
if empty(a:lines)
|
if empty(a:lines)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
let key = remove(a:lines, 0)
|
let key = remove(a:lines, 0)
|
||||||
if key == 'ctrl-t' | let cmd = 'tabedit'
|
let cmd = get(s:action, key, 'e')
|
||||||
elseif key == 'ctrl-x' | let cmd = 'split'
|
|
||||||
elseif key == 'ctrl-v' | let cmd = 'vsplit'
|
|
||||||
else | let cmd = 'e'
|
|
||||||
endif
|
|
||||||
for item in a:lines
|
for item in a:lines
|
||||||
execute cmd s:escape(item)
|
execute cmd s:escape(item)
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:cmd(bang, ...) abort
|
function! s:cmd(bang, ...) abort
|
||||||
let args = extend(['--expect=ctrl-t,ctrl-x,ctrl-v'], a:000)
|
let s:action = get(g:, 'fzf_action', s:default_action)
|
||||||
|
let args = extend(['--expect='.join(keys(s:action), ',')], a:000)
|
||||||
let opts = {}
|
let opts = {}
|
||||||
if len(args) > 0 && isdirectory(expand(args[-1]))
|
if len(args) > 0 && isdirectory(expand(args[-1]))
|
||||||
let opts.dir = remove(args, -1)
|
let opts.dir = remove(args, -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user