Back
Featured image of post [Phần 5] Vim là cái quái gì? - Thêm Sidebar cho Vim

[Phần 5] Vim là cái quái gì? - Thêm Sidebar cho Vim

Thường các IDE cần phải có sidebar để hiển thị cấu trúc thư mục của dự án, để mình dễ hình dung các files bố trí thế nào này nọ. Trong Vim cũng sẽ có sidebar này, và `NERDTree` là plugin mà được nhiều người xài nhất.

Thường các IDE cần phải có sidebar để hiển thị cấu trúc thư mục của dự án, để mình dễ hình dung các files bố trí thế nào này nọ.

Trong Vim cũng sẽ có sidebar này, và NERDTree là plugin mà được nhiều người xài nhất.

Nó trông thế này đây:

Cũng giống mấy cái IDE khác thôi, nhưng mình nói trước cái này sẽ dùng phím để di chuyển nha, chứ không dùng chuột đâu 😅

Cài đặt NERDTree:

vim ~/.vimrc

call plug#begin()
  ...
  Plug 'preservim/nerdtree'
  ...
call plug#end()

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

:source ~/.vimrc
:PlugInstall

Giờ cấu hình cho nó nào.

Cấu hình NERDTree:

Đây là tất cả config cho NERDTree mà mình đang xài:

"" Hiện file ẩn
let NERDTreeShowHidden=1

autocmd VimEnter * NERDTree | wincmd p
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif

"" Mở cùng NERDTree cho tab mới, mặc định  mỗi tab sẽ mở 1 cái mới
autocmd BufWinEnter * silent NERDTreeMirror

"" Tự đóng NERDTree khi đóng tab, mặc định giữ lại NERDTree
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") 
      \ && b:NERDTree.isTabTree()) | q | endif

"" Tìm file đang mở trong thư mục bên NERDTree (mặc định không sync với nhau)
map <leader>r :NERDTreeFind<cr>

:w để lưu, xong gõ tiếp: :source ~/.vimrc

Vậy là xong cái sidebar, quá dễ đúng không 😻

Các chuyển đổi qua lại giữa NERDTree và code:

Các bạn gõ phím tắt Ctrl + ww 2 lần ww nha, thì nó sẽ chuyển đổi qua lại giữa NERDTree và code dễ dàng.

Cách tìm file trong NERDTree:

Các bạn có thểm tìm file bằng cách giống như tìm text trong vim:

Gõ dấu / xong gõ tên file cần tìm, ví dụ /index enter, thì nó tự nhảy trỏ tới file đó luôn.

Tìm thư mục cũng tương tự nhé 😂

Cách tạo file mới, đổi tên, xóa file bằng NERDTree:

Các bạn chỉ cần di chuyển trỏ tới thư mục cần tạo file/thư mục mới,

xong ấn m (có nghĩa là show menu lên), xong ấn a (nghĩa là add).

  • Nếu tạo file thì để đuôi file vô, không có dấu / ở cuối.
  • Nếu tạo folder thì phải có dấu / ở cuối nha.

Ví dụ:

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

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