10

[IDE hoá NeoVim]  Phần 1 Cài đặt plugins và Setup NeoVim cơ bản 

Hai bài trước mình đã viết về những lợi ích của việc sử dụng NeoVim và hướng dẫn sử dụng NeoVim cơ bản. Trong bài viết này mình sẽ hướng dẫn các bạn install plugins và setup để biến NeoVim thành IDEs cho riêng bạn.

✧ ✧ ✧

Vim-plug

Mình sử dụng vim-plug làm trình quản lý plugins, NeoVim hoặc Vim đều dùng được. Mình khuyên các bạn nên xài NeoVim, lý do vì NeoVim là bản refactor của Vim với ít hơn 30% code, hỗ trợ tốt hơn cho việc tích hợp plugins.

Cài đặt:

Tạo folder để chứa file config của NeoVim tại ~/.config/nvim/init.vim

NeoVim mặc định sẽ đọc file init.vim này khi start lên. Giống như là khi các bạn code C/C++ sẽ muôn có một file chứa hàm main() vậy, trong NeoVim bạn có thể tạo nhiều file configs của mình ở ngoài rồi source ( include trong C/C++) vào file init.vim này.

Mình tạm thiết kế thư mục nvim như vầy:

nvim setupnvim setup

Trong cây thư mục như trên chỉ có folder configs, my_settings là do mình tạo ra, còn lại những folder session, bundle, autoload là vim-plug tạo ra để quản lý packages. Ở trong bài viết này các bạn chỉ cần tạo ra folder configs và setup plugin thôi.

Thư mục configs chưa tất cả các file cài đặt vim. Mình mình muốn tách các config này ra để dễ cho việc cài đặt và setup sau này. Trong file init.vimmình sẽ chạy một script đọc tất cả các configs này và nạp vào.

  • 01.plugins.vim : quản lý các plugins
  • 02.settings.vim: quản lý setting của neovim 
  • 03.plugin-settings.vim : quản lý setting của plugins.

Prefix 01.* để chỉ mức độ ưu tiên của script khi được nạp vào. Plugins cần phải nạp vào trước, sau đó đến setting của neovim các setting khác được load sau cùng.

Cài đặt

Plugins

Mình sẽ lấy 2 plugins để làm ví dụ đó là nerdtree ( trình quản lý folder/file) và gruvbox ( theme của neovim giống như mình đang xài ). 

Updated(25/10/2020): Mình đã chuyển qua dùng defx, nerdtree đầy đủ feature dễ sài hơn nhưng perf chậm quá. Nếu có hứng thú các bạn có thể thử dùng defx.

 Defx neovim Defx neovim

Trong file 01.plugins.vim bạn thêm vào đoạn script sau:

Có rất nhiều plugins bạn có thể tìm kiếm tại đây:

Sau khi thêm xong thì các bước bạn phải làm là 

  • :w để save lại sau đó 
  • :so % để load lại configs sau đó 
  • :PlugInstall để cài đặt Plugins 
neovim Pluginneovim Plugin

Khi bạn cài bất kì plugins nào thì các bạn nên vào trang chủ của plugin đó (đa phần là github) xem hướng dẫn sử dụng và có cần phải cài đặt gì không. Vì đa số các plugins cài vào cần setting nó mới hoạt động.

Nếu các bạn cảm thấy plugin có ý nghĩa với bạn, thì đừng tiếc gì một star cho project đó để động viên tác giả nhé <3

Ví dụ như mình vừa cài vào plugin nerdtree ( trình quản lý folder/file) thì mình vào trang github của nerdtree để xem docs 

Settings

File 02.settings.vim sẽ chứa những settings chung của NeoVim, mang tính chất global và ít bị thay đổi theo thời gian.

neovim settingsneovim settings

Một số settings cơ bản trong file 02.settings.vim : 

Plugins Setting

File 03.plugins-setting.vim sẽ chứa setting của plugin. Mình vừa mới cài đặt 2 plugin là nerdtree và gruvbox, giờ mình bắt đầu config như sau:

Copy đoạn setting mình đã tạo sẵn và paste vào file plugins-settings của bạn.:w để save lại, :so% để load lại setting và bạn sẽ thấy theme của neovim thay đổi. Kiểm tra xem setting của NerdTree đã ăn chưa bằng cách nhấn tổ hợp phím Ctrl + b để toggle nerdtree.

✧ ✧ ✧

Kết luận

Mình xin dừng bài viết ở đây, bài viết này mình chỉ muốn các bạn nắm cách cài đặt 1 neovim plugin, cách setting neovim. Các bạn thử cài đặt nếu có thắc mắc hay khó khăn gì thì bình luận mình sẽ trả lời.

Đăng kí thành viên và theo dõi mình, bài viết tiếp theo mình sẽ tổng hợp những plugins cần phải có và cách settings để các bạn code được với bất kì ngôn ngữ nào.

Phần settings của mình ở đây: 

Updated:

Một số bạn sau khi lấy file init.vim của mình về setup thì bị lỗi. Tại vì neovim cần một số thư viện khác cài vào không nằm trong file init.vim nên khi chạy sẽ bị lỗi.

Sau khi cài đặt xong bạn vào chế độ command gõ :checkhealth

:checkhelp:checkhelp

Neovim sẽ tự động check xem vim config của bạn đang bị thiếu những config gì.

Với những plugin như deoplete hay denite thì bạn phải chạy lệnh :UpdateRemotePlugins để install/update plugin.

#nvim#IDE
10
0
...