Quay lại
Featured image of post [Phần 6] Vim là cái quái gì? - Search tên file và nội dung nhanh với FZF

[Phần 6] Vim là cái quái gì? - Search tên file và nội dung nhanh với FZF

Nhu cầu cơ bản của dev là phải search nhanh file cần tìm để đáp ứng code, chứ nhiều khi không thể nhớ đường dẫn vô file đó, nên cần 1 plugin để hỗ trợ nó, nó gọi là `FZF`

Hỗ trợ search file nhanh, giống Ctrl + P trên VSCode: [FZF.vim](https://github.com/junegunn/fzf.vim)

Nhu cầu cơ bản của dev là phải search nhanh file cần tìm để đáp ứng code, chứ nhiều khi không thể nhớ đường dẫn vô file đó, nên cần 1 plugin để hỗ trợ nó, nó gọi là FZF, nó giống vầy nè:

Ctrl + P rồi search file y chang bên VSCode nha ✌️

Cài đặt FZF.vim

vim ~/.vimrc

call plug#begin()
  ...
  Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
  Plug 'junegunn/fzf.vim'
  ...
call plug#end()

:w để lưu, xong gõ tiếp:

:source ~/.vimrc
:PlugInstall

Xong rồi, giờ cấu hình tiếp nào

Cấu hình FZF.vim:

"" Map phím tắt Ctrl + P
nnoremap <silent> <C-S-p> :Files<CR>

"" Tìm file trong project, nhưng bỏ mấy thư mục như node_modules ra, để tìm nhẹ hơn.
set wildmode=list:longest,list:full
set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__
let $FZF_DEFAULT_COMMAND =  "find * -path '*/\.*' -prune -o -path '**/node_modules/**' -prune -o -path 'node_modules/**' -prune -o -path 'target/**' -prune -o -path 'dist/**' -prune -o  -type f -print -o -type l -print 2> /dev/null"

:w để lưu, xong gõ tiếp:

:source ~/.vimrc
:PlugInstall

Vậy là ngon, chạy thử thôi 😋

Hỗ trợ search nội dung trong file nhanh, giống Ctrl + Shift + F trên VSCode:

Phần này chúng ta cũng sử dụng FZF.vim luôn, không cần cài plugin mới nhé, cấu hình luôn thôi nào:

command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(<q-args>), 1, {'options': '--delimiter : --nth 4..'}, <bang>0)

"" Map phím "\f" để tìm nội dung, tương tự như "Ctrl + Shift + F" trên VSCode nhé
nnoremap <silent> <Leader>f :Rg<CR>

:w để lưu, xong gõ tiếp:

:source ~/.vimrc
:PlugInstall

Phần tiếp theo mình sẽ cấu hình cho Vim có thể gợi y code (autocomplete code) như thế nào nhé

Xem tiếp » [Phần 7] Vim là cái quái gì? - Autocomplete code như thế nào

Lập trình dễ òm.xyz

Bình luận sử dụng Facebook hoặc Google bên dưới nhé :)