diff options
| author | Serguey Parkhomovsky <xindigo@gmail.com> | 2026-03-27 23:43:29 -0700 |
|---|---|---|
| committer | Serguey Parkhomovsky <xindigo@gmail.com> | 2026-03-27 23:43:29 -0700 |
| commit | 903249a59c3f4b91d45d8008eea7910014513a1c (patch) | |
| tree | 5c92a172a715ebbd5e12afd87302555d1ef922f3 | |
| parent | f53cb87ab061d0ceb577de99d0526813b2f8c13b (diff) | |
more better:
| -rw-r--r-- | vim/.vimrc | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -112,19 +112,34 @@ nnoremap <C-l> <C-w>l let g:airline_theme = 'tokyonight' " ── FZF ─────────────────────────────────────────────────────────────────────── +" Use bash for fzf subprocesses — fish has non-interactive startup overhead +let $SHELL = '/bin/bash' + " Use ripgrep for :Files if available if executable('rg') set grepprg=rg\ --vimgrep\ --smart-case set grepformat=%f:%l:%c:%m endif +" Use fdfind as the default file lister — respects .gitignore, skips binaries +let $FZF_DEFAULT_COMMAND = 'fdfind --type f --hidden --follow --exclude .git' + +" Pass --bind change:top so fzf jumps to best match as you type (reduces lag) +let $FZF_DEFAULT_OPTS = '--bind=change:top' + " Layout let g:fzf_layout = { 'down': '40%' } let g:fzf_preview_window = ['right:50%:hidden', 'ctrl-/'] +" Faster Rg: no per-file headings, just stream line:col:content +command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case -- '.shellescape(<q-args>), + \ fzf#vim#with_preview(), <bang>0) + " FZF keymaps -nnoremap <leader>ff <Cmd>Files<CR> -nnoremap <leader>fb <Cmd>Buffers<CR> +nnoremap <C-p> <Cmd>Files<CR> +nnoremap <C-b> <Cmd>Buffers<CR> nnoremap <leader>rg <Cmd>Rg<CR> nnoremap <leader>fg <Cmd>GFiles<CR> nnoremap <leader>fl <Cmd>BLines<CR> |
