Hướng dẫn cài đặt và sử dụng NeoVim cơ bản

Ở bài trước mình đã nói về quá trình mình chuyển từ Visual Studio Code sang NeoVim và những lợi ích của NeoVim Link .Hôm nay mình sẽ hướng dẫn các bạn cài đặt và làm quen với NeoVim
Trước khi biến hình NeoVim thành 1 IDEs xịn xò thì các bạn phải biết sử dụng NeoVim như là 1 text editor trước, việc này là bắt buộc, bản thân mình đã từng bỏ NeoVim 1 lần chỉ vì muốn sử dụng NeoVim như là IDEs mà không nắm được những khái niệm và cú pháp cơ bản của NeoVim.

Cài đặt

Cài đặt trên MacOS thông qua brew: (nếu chưa có brew thì cài đặt ở https://brew.sh)

brew install neovim

Cài đặt trên Ubuntu/Debian:

sudo apt-get install neovim

Hoặc các bạn có thể sử dụng Vim thay NVim để luyện tập trong cũng được vì Vim được cài đặt sẵn trên các HĐH nhân Unix/Linux, cú pháp của Vim và NVim là như nhau.

NeoVim sinh ra là để refactor code cũ của Vim, đảm bảo tính chỉnh sửa, cải thiện, phát triển tính năng, có thể tích hợp nhiều extensions..... (https://github.com/neovim/neovim/wiki/Introduction)

Mở 1 file bằng NeoVim

Command Line để mở NeoVim là nvim , Vim là vi . Khi 1 file được mở lên bằng NeoVim thì mọi thao tác trên file đó đều có thể sử dụng bằng bàn phím.

// mở file bằng Vim
vi ./test.js 
vi doc.html
vi text.txt
// mở file bằng NeoVim 
nvim ./test.js 
nvim doc.html
nvim text.txt

NeoVim modes

NVim (NeoVim) xây dựng theo hướng keyboard driven, không chỉ edit text, mà bạn còn có thể di chuyển trên file, select 1 đoạn text, copy/paste, xoá, chèn text...
Vì có nhiều hành động trên file như vậy nên trên 1 file sẽ có nhiều mode, mỗi mode sẽ có 1 tập hợp các sự kiện phím khác nhau.

Normal mode

Mode này chủ yếu cho phép bạn di chuyển qua lại lên xuống trong file, chỉnh sửa text đơn giản như thay thế kí tự, chuyển đoạn text từ viết hoa sang viết thường, xoá 1 kí tự bất kì, yank/copy ...
codefun.dev nvim normal mode
Normal mode là tiền đề cho những mode khác, giống như trên editor thông thường, muốn chèn code ở 1 đoạn nào đó thì trước tiên bạn phải di chuyển đến vị trí chèn sau đó bắt đầu gõ. Trong NVim kịch bản sẽ là:
Step 1: chuyển sang Normal mode di chuyển đến vị trí bạn muốn chèn code.
Step 2 : chuyển từ Normal mode sang Insert mode để bắt đầu chèn code.
Khi ở bất kì chế độ nào, nhấn phím ESC để vào Normal mode

Insert mode

Khi ở Insert mode, bạn có thể chèn text. Yup, chỉ vậy thôi, ngoài ra 1 số tính năng được kích hoạt ở chế độ insert như là AutoComplete, Suggestion...
codefun.dev nvim insert mode
Có nhiều cách để bạn vào chế độ Insert mode tuỳ mục đích của bạn, khi đang ở Normal mode bằng cách nhấn phím :

  • i : chèn text ngay tại vị trí con chuột
  • Shift + i : chèn text ở đầu câu
  • a : chèn text ngay trước vị trí con trỏ
  • Shift + a : chèn text ở cuối câu
  • o : chèn text trên 1 dòng mới phía dưới vị trí hiện tại của con trỏ chuột
  • Shift + o : chèn text trên 1 dòng mới phía trên vị trí hiện tại của con trỏ chuột

Visual mode

Mode này cho phép bạn chọn và highlight đoạn text của mình, một khi text được highlight, mọi sự kiện sau đó hầu như chỉ ăn theo đoạn text bạn vừa highlight.
codefun.dev visual mode
Nhấn phím v để vào Visual mode. Shift + v để visual dòng text tại vị trí con chuột. Khi ở chế độ Visual mode bạn có thể kết hợp với các phím di chuyển khác để để thay đổi khoảng highlight.

Command-line mode

Khi ở chế độ Cmd-line, bạn có thể tìm kiếm đoạn text, file, hay thực thi Cmd-line của Unix/Linux. ( key : hoặc :! để sử dụng Cmd-line của Unix )
codefun.dev command mode
Tìm kiếm trong file( key /)
codefun.dev command mode
Ngoài ra còn 2 mode nữa là Select và Ex-mode nữa nhưng mình ít xài, nên mình sẽ để Link để các bạn tìm hiểu thêm

Let's Crack Neovim

Nếu bạn nắm được những nguyên lý cơ bản của NVim thì việc làm chủ được NVim sẽ rất dễ. NVim xây dựng theo hướng keyboard driven, nên sẽ có công thức để tổ hợp các phím thành 1 chức năng cụ thể, hay những chức năng của con chuột.
Giả sử mình có 1 tập hợp các hành động sau:

  • Các action (Verb) trong Vim : i (insert), d (delete), c (change), u (undo), y/p (copy/paste), g (go)...
  • Di chuyển trong NVim : j=⬇ (đi xuống ), k=⬆( đi lên ),h = ⬅( di chuyển qua trái), l = ➡ ( di chuyển qua phải)
  • Các danh từ (Noun) : w (word), e (end), b (back), p (paragraph) ....

Mình sẽ kết hợp các phím đó với nhau như sau :

  • w, b, e : di chuyển qua lại giữa các từ ...
  • dw/cw (delete word/change word): xoá/thay thế 1 từ từ vị trí con trỏ đến hết từ bao gồm dấu cách
  • de/ce (delete end/change end): xoá/thay thế từ vị trí con trỏ đến cuối từ, không có dấu cách
  • diw/ciw  (delete in word/ change in word) : xoá/thay thế toàn bộ từ phía dưới con trỏ
  • 2j | 2k | 2h | 2l : di chuyển ( xuống | lên | phải trái ) 2 dòng/ kí tự
  • 3w | 3b : di chuyển từ vị trí con trỏ ( đi lên 3 từ | đi ngược lại 3 từ )
  • gg | g | 12G : di chuyển đến dòng ( đầu tiên của file | dòng cuối cùng của file | 12 của file)

c kết quả cuối cùng sẽ ở chế độ insert d: kết quả cuối cùng sẽ ở chế độ normal => c = d + i
Hầu như mọi chức năng của NVim thông qua tổ hợp các phím này, việc tổ hợp các phím rất dễ hình dung. Giả sử trong quá trình dev bạn muốn xoá 1 từ dịch ra tiếng anh delete word => dw.

// xoá đoạn text trong dấu ""
let text="xoá đoạn text ở đây "

Thay đổi đoạn text trong " dịch ra => change in " => ci"

Luyện tập với Vimtutor

Mình khuyên các bạn nên bắt đầu với Vimtutor, nơi tổng hợp những hướng dẫn cơ bản + các use case của từng phím.
codefun.dev vimtutor
Bắt đầu Vimtutor trên terminal của MacOS/Linux, bật terminal lên và gõ:

vimtutor

Có 1 điều khá thú vị là khi bạn mở vimtutor lên, bạn sẽ không xài được chuột ở trong termial của vimtutor, việc này càng khiến bạn phải kiên trì và quyết tâm cao khi học NVim.

Kết bài

Đơn giản phải không nào, bạn bắt buộc phải xài NVim như là 1 text editor trước khi biến nó thành 1 IDEs, cho đến bây giờ mình chưa nghĩ ra 1 lối tắt nào cả. Có thể nó hơi chán khi bạn phải ngồi làm theo tutorial gõ gõ các kiểu, nhưng càng về sau sẽ càng thú vị.

Mình nghĩ là trong 1 tuần thôi thì bạn có thể làm chủ được rồi, sau đó mình sẽ tiếp tục hướng dẫn các bạn configs + cài đặt plugins trên NVim. Đăng kí vào Codefun và theo dõi mình nha.

Theo dõi mình trên Codefun.devkipalog.com để nhận thông báo về bài viêt mới nhất nhé <3 !

Tham khảo

Nguồn: https://codefun.dev/lythanhnhan27294/huong-dan-cai-dat-va-su-dung-neovim-co-ban-1482174216

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Lý Thành Nhân

2 bài viết.
18 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
16 5
Từ Visual Studio Code đến NeoVim Chắc hẳn các bạn đã nghe qua Vim hay từng sử dụng Vim, NeoVim chính là phiên bản cải tiến của Vim. Vim hay NeoVim...
Lý Thành Nhân viết 1 tháng trước
16 5
Bài viết liên quan
White
14 12
Một vài thủ thuật vim mới biết, ghi lại cho khỏi quên Căn lề các cột dữ liệu Để căn lề ấn phím esc (để sang command mode) :%column t Chọn th...
studybot viết hơn 4 năm trước
14 12
White
4 5
_Có thể bạn biết rồi]_ Cách sử dụng ctags để làm việc hiệu quả hơn trên VIM editor. Hôm nay nhân dịp cài lại hệ điều hành, cần phải tạo lại bộ ta...
Hiền Vương viết gần 4 năm trước
4 5
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
2 bài viết.
18 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!