Mấy nay dùng trial IntelliJ IDEA sướng quá, hết hạn lại quay về với vim, vọc thêm mấy thứ thiết yếu, tăng tốc cô đing ^^.

Cấu hình theo bài viết cho macOSX, cấu hình trên linux có thể khác

Đầu tiên, cần cài đặt fzf

brew install fzf

Chỉnh leader key thành ;

" Set leader shortcut to a comma ';'. By default it's the backslash
let mapleader = ";"

Di chuyển (navigate)

  • Di chuyển giữa các tab đang mở ;1 ;2 ... ;0 (quay về tab đầu với ;0)
  • Di chuyển giữa các window của 1 tab (ctr + h|j|k|l) (| ở đây là hoặc)
  • Mở lên theo tab mới, hoặc mở theo chiều đứng của tab hiện tại (ctr + s hoặc ctr + v)
  • Đây là config của file .vimrc
" Di chuyển giữa các window của cùng 1 tab
nmap <C-h> <c-w>h
nmap <C-j> <c-w>j
nmap <C-k> <c-w>k
nmap <C-l> <c-w>l


" Go to tab by number
noremap <leader>1 1gt 
noremap <leader>2 2gt 
noremap <leader>3 3gt 
noremap <leader>4 4gt 
noremap <leader>5 5gt 
noremap <leader>6 6gt 
noremap <leader>7 7gt 
noremap <leader>8 8gt 
noremap <leader>9 9gt 
noremap <leader>0 :tablast<cr>

Tìm kiếm

  • Tìm kiếm text trong file ;;, bản chất bên dưới dùng ripgrep
  • Tìm kiếm bằng tên file ;f
  • Tìm kiếm text theo dòng ở file đang mở ;l
  • Đây là config của file .vimrc
" fzf config
" Fuzzy file finder

" Search all text in files
nnoremap <leader><leader> :Rg<cr>
" Search in buffers
nnoremap <leader>b :Buffers<cr>
" Search in lines
nnoremap <leader>l :BLines<cr>
" Search by file name
nnoremap <leader>f :Files<cr>

let g:fzf_preview_window = 'right:80%'
augroup fzf
  autocmd!
  autocmd! FileType fzf
  autocmd  FileType fzf set laststatus=0 noshowmode noruler
    \| autocmd BufLeave <buffer> set laststatus=2 showmode ruler
augroup END

Done! từng này cũng giúp nâng cao hiệu quả làm việc với vim trên MacOSX, hoàn toàn phím tắt và 0.01% dùng đến touchpad.

Đây là file .vimrc hiện tại của tôi ;)