VPS

Neovim trên máy chủ: nhẹ và đủ mạnh

Thanh Nguyễn Đăng 9 phút đọc 3 khối lệnh

Neovim trên máy chủ: nhẹ và đủ mạnh
Mục lục bài viết
  1. Khi nào Neovim là lựa chọn đúng
  2. Cài và cấu hình tối thiểu
  3. Những phím phải biết trong ngày đầu
  4. Muốn gợi ý code thì thêm máy chủ ngôn ngữ
  5. Kết hợp với phiên làm việc dài
  6. Khi nào là lựa chọn đúng
  7. Sáu phím đủ để sửa tệp trên máy chủ
  8. Cấu hình tối thiểu và cảnh báo về việc cấu hình quá tay
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: Neovim là trình soạn thảo chạy thẳng trong terminal, khởi động dưới một phần mười giây và không cần giao diện đồ họa. Trên máy chủ, đó là lợi thế thật: bạn sửa file ngay trong phiên SSH mà không phải dựng thêm dịch vụ nào, và nó vẫn dùng được khi mạng chập chờn. Cái giá là đường học dốc ở tuần đầu. Nếu bạn chỉ thỉnh thoảng sửa file cấu hình thì học vài phím cơ bản là đủ, không cần đi xa hơn.

Trên máy chủ không có giao diện, mọi lựa chọn soạn thảo đều nằm trong terminal. Neovim là lựa chọn mà người quản trị lâu năm hay dùng, không phải vì nó thời thượng mà vì nó luôn có mặt, luôn nhanh, và không phụ thuộc vào việc mạng có ổn định hay không.

Khi nào Neovim là lựa chọn đúng

Ba tình huống nó thắng rõ:

  • Sửa nhanh file cấu hình trên máy chủ. Mở, sửa, lưu, xong trong mười giây, không phải dựng kết nối gì thêm.
  • Mạng chập chờn hoặc độ trễ cao. Vì mọi thứ chạy phía máy chủ và chỉ ký tự đi qua mạng, nó chịu đường truyền xấu tốt hơn hẳn các công cụ đồng bộ cả cây thư mục.
  • Máy chủ nhỏ. Nó chiếm vài chục MB bộ nhớ, trong khi các phương án khác chiếm hàng trăm MB tới cả GB.

Ngược lại, nếu công việc của bạn là ngồi viết code cả ngày trên một dự án lớn, Remote SSH hoặc code-server cho trải nghiệm thoải mái hơn nhiều. Không có gì phải chứng minh ở đây, dùng cái hợp việc là được.

Cài và cấu hình tối thiểu

TerminalCài và cấu hình tối thiểubash
sudo apt update && sudo apt install -y neovimmkdir -p ~/.config/nvim

File ~/.config/nvim/init.lua với vài chục dòng là đủ dễ chịu:

TerminalCài và cấu hình tối thiểubash
-- Hien so dong va so dong tuong doi de nhay nhanhvim.opt.number = truevim.opt.relativenumber = true -- Thut le hai khoang trang, dung khoang trang thay tabvim.opt.expandtab = truevim.opt.shiftwidth = 2vim.opt.tabstop = 2 -- Tim kiem khong phan biet hoa thuong tru khi go chu hoavim.opt.ignorecase = truevim.opt.smartcase = true -- Giu lich su hoan tac ca sau khi dong filevim.opt.undofile = true -- Dung chung bo nho tam voi he thongvim.opt.clipboard = 'unnamedplus' -- Phim tat: khong gian lam phim dan dauvim.g.mapleader = ' 'vim.keymap.set('n', '<leader>w', ':w<CR>')vim.keymap.set('n', '<leader>q', ':q<CR>')

Dòng giữ lịch sử hoàn tác đáng chú ý: nhờ nó bạn hoàn tác được cả những thay đổi từ phiên trước, thứ đã cứu không ít người sau một lần sửa nhầm file cấu hình.

Những phím phải biết trong ngày đầu

Neovim có nhiều chế độ, và đây là chỗ làm người mới hoảng. Thực ra chỉ cần nhớ ba chế độ và mươi phím là làm việc được:

  • i vào chế độ gõ, Esc quay ra chế độ lệnh.
  • :w lưu, :q thoát, :wq lưu rồi thoát, :q! thoát bỏ thay đổi.
  • dd xóa dòng, yy chép dòng, p dán.
  • u hoàn tác, Ctrl+r làm lại.
  • /tu-can-tim rồi Enter để tìm, n tới kết quả kế tiếp.
  • gg lên đầu file, G xuống cuối, :42 nhảy tới dòng 42.

Mươi phím đó phủ hết việc sửa file cấu hình trên máy chủ. Phần còn lại học dần khi gặp nhu cầu thật, đừng ngồi học thuộc trước.

Muốn gợi ý code thì thêm máy chủ ngôn ngữ

Neovim hỗ trợ sẵn giao thức mà các trình soạn thảo hiện đại dùng để hiểu code, nên bạn có được nhảy tới định nghĩa, gợi ý tên hàm và báo lỗi ngay khi gõ. Việc cần làm là cài máy chủ ngôn ngữ cho ngôn ngữ của bạn rồi khai báo.

Cân nhắc thực tế trước khi làm: máy chủ ngôn ngữ chiếm RAM đáng kể, đặc biệt cho dự án lớn. Trên VPS 2GB đang chạy cả web và database, bật lên có thể làm mọi thứ chậm đi. Hãy chỉ cài trên máy dành riêng cho việc phát triển.

Nếu bạn tới mức cần đầy đủ tiện nghi như vậy, hãy tự hỏi có nên dùng thẳng môi trường đóng gói với trình soạn thảo quen thuộc không. Neovim mạnh nhất ở vai trò công cụ nhẹ luôn sẵn sàng, chứ không phải ở việc bắt chước trình soạn thảo đồ họa.

Kết hợp với phiên làm việc dài

Bộ đôi quen thuộc trên máy chủ là Neovim chạy trong một khung tmux. Bạn chia màn hình: một khung soạn thảo, một khung chạy lệnh, một khung xem log. Ngắt kết nối rồi vào lại thì mọi thứ vẫn nguyên như lúc rời đi, theo cách mô tả ở bài tmux.

Cấu hình Neovim cũng nên nằm trong repo dotfiles như bài dotfiles nói, để máy chủ mới nào cũng có ngay bộ phím quen tay. Đây là điểm cộng thầm lặng của công cụ dạng văn bản: toàn bộ cấu hình chỉ là mấy file, mang đi đâu cũng được.

Khi nào là lựa chọn đúng

Tình huốngNên dùng khôngVì sao
Sửa nhanh tệp cấu hình trên máy chủNênCó sẵn trên gần như mọi máy chủ Linux
Làm việc qua kết nối chậm hoặc chập chờnNênChạy hoàn toàn ở phía máy chủ, không tốn băng thông
Làm dự án lớn hằng ngàyTùy ngườiTrình soạn thảo đồ họa nối từ máy cá nhân tiện hơn với đa số
Bạn chưa biết gì về nó và đang gấpKhôngHọc nó tốn thời gian, đừng học lúc đang gấp
Máy chủ không cài thêm được gìNênBản cơ bản có sẵn

Định vị thực dụng: đây là công cụ đáng biết ở mức cơ bản vì bạn sẽ gặp nó trên mọi máy chủ. Còn có nên dùng nó làm công cụ chính hay không thì tùy người, và không có câu trả lời đúng cho tất cả.

Sáu phím đủ để sửa tệp trên máy chủ

TerminalSáu phím đủ để sửa tệp trên máy chủbash
# Chi can nho sau thu nay la du de sua file tren may chu: # i        chuyen sang che do go chu# Esc      thoat ve che do lenh# :w       luu# :q       thoat# :wq      luu va thoat# :q!      thoat khong luu, dung khi lo sua nham # Neu bi ket va khong biet dang o dau: bam Esc vai lan roi go :q! # Ba phim tien them:# /tu-can-tim   tim kiem# dd            xoa mot dong# u             hoan tac

Sáu lệnh đầu tiên là phần đáng học nhất: chúng đủ để bạn không bao giờ bị kẹt trong trình soạn thảo trên một máy chủ lạ, và đó là tình huống ai làm việc với máy chủ cũng gặp.

Cấu hình tối thiểu và cảnh báo về việc cấu hình quá tay

  • Bắt đầu bằng cấu hình ngắn: bật số dòng, bật tô màu cú pháp, đặt cỡ thụt đầu dòng. Vài dòng là đủ.
  • Đừng chép cấu hình khổng lồ của người khác. Nó chậm, và bạn không hiểu nó làm gì khi hỏng.
  • Thêm gợi ý mã chỉ khi thật sự cần, vì nó kéo theo nhiều thành phần và làm phiên mở chậm.
  • Trên máy chủ chạy dịch vụ thật, giữ bản mặc định. Thêm phần mềm là thêm thứ phải cập nhật.

Kết hợp với bộ ghép màn hình để phiên làm việc không chết theo kết nối, xem bài về máy dev từ xa.

Câu hỏi thường gặp

Neovim khác Vim thế nào?

Neovim là bản phát triển tiếp của Vim với cấu hình bằng Lua, hỗ trợ sẵn giao thức hiểu code và kiến trúc plugin hiện đại hơn. Phím tắt và cách dùng cơ bản giống nhau, nên học cái này thì dùng được cái kia.

Học Neovim mất bao lâu?

Mươi phím cơ bản đủ để sửa file cấu hình thì học trong một buổi. Dùng thành thạo cho việc viết code hằng ngày thì tính bằng vài tuần, và giai đoạn đầu bạn sẽ chậm hơn công cụ cũ.

Có nên dùng Neovim để viết code cả ngày không?

Được, nhiều người làm vậy và rất hiệu quả. Nhưng nếu bạn đã quen trình soạn thảo đồ họa thì Remote SSH cho kết quả tương đương mà không phải học lại. Chọn theo việc chứ đừng theo trào lưu.

Neovim chiếm bao nhiêu tài nguyên?

Bản thân nó vài chục MB, rất nhẹ. Phần nặng là các máy chủ ngôn ngữ nếu bạn bật, có thể lên vài trăm MB cho dự án lớn. Trên máy chủ nhỏ đang chạy dịch vụ khác thì nên cân nhắc.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.