Functions for using pick from within Vim.
Please note: pick requires a fully functional terminal to run therefore cannot be run from within gvim or MacVim.
Recommended installation with Vundle:
Plugin 'calleerlandsson/pick.vim'pick.vim provides the following functions:
Pick a file to edit.
If you are working from within a git repository, PickFile() will use git ls-files to get the files to pick from. If not, it will use find.
Pick a file to edit in a new split.
Pick a file to edit in a new vertical split.
Pick a file to edit in a new tab.
Pick a buffer to edit.
Pick a tag to jump to, open it with :tag
Pick a tag to jump to, open it with :stag
Run the choice_command in from the shell and pipe the results to pick run with
pick_args and call the vim_command with the selected choice.
For example, you could implement PickFile() like this:
call PickCommand("find * -type f", "", ":edit", 1)Add your preferred key mappings to your .vimrc file:
nnoremap <Leader>p :call PickFile()<CR>
nnoremap <Leader>s :call PickFileSplit()<CR>
nnoremap <Leader>v :call PickFileVerticalSplit()<CR>
nnoremap <Leader>t :call PickFileTab()<CR>
nnoremap <Leader>b :call PickBuffer()<CR>
nnoremap <Leader>] :call PickTag()<CR>The name of the pick executable can be configured with:
let g:pick_executable = "pick -K"The -K is useful when running pick(1) from within another interactive
program (like vim(1)) which does not re-enable keyboard transmit mode after
executing an external program.
The maximum number of lines used when drawing the pick interface can be limited:
let g:pick_height = 10Copyright (c) 2017 Calle Erlandsson, Teo Ljungberg & thoughtbot.