→ From Coder to Shipper
From Coder to Shipper · Nền tảng

Trình soạn thảo — nano, vim & helix

Bạn sẽ dành nhiều thời gian sửa file hơn là viết code từ đầu. Hãy làm quen với ba trình soạn thảo: nano, vim, và helix — hiện đại, không cần setup.

← / → để chuyển slide · chuyển EN/VI bên dưới

Toàn cảnh

Vì sao trình soạn thảo là cốt lõi

Gần như mọi việc của một shipper đều là sửa file bằng tay.

File cấu hình ở khắp nơi

nginx.conf, .env, docker-compose.yml — tất cả đều được sửa tay.

Và cả file code

Mọi bản sửa lỗi đều bắt đầu bằng vài dòng thay đổi trong một file.

AI viết, bạn đọc lại

AI có thể sinh code, nhưng bạn là người mở file, đọc và chỉnh nó.

Ba công cụ nên biết

nano (đơn giản), vim (mạnh mẽ), và helix (hiện đại, không cần setup) đáp ứng 99% công việc thực tế.

01
Phần 1

nano — phương án nhẹ nhàng

Mũi tên để di chuyển, gõ để sửa, ba tổ hợp phím để kết thúc. Không cần thời gian làm quen.

nano · trông như thế nào

nano, đang mở một file thật

Toàn bộ giao diện là text — và mọi thứ bạn cần đều đã được in trên hai thanh xanh lá đó: ^O Write Out để lưu, ^X Exit để thoát.

you@vps — nano /etc/nginx/nginx.conf
server { listen 80; server_name app.example.com; root /var/www/app; location / { try_files $uri $uri/ =404;█ } }
^G Get Help   ^O Write Out   ^W Where Is   ^K Cut   ^U Paste   ^X Exit
^T Execute   ^C Location   F3 Find   F4 Replace   M-U Undo
nano

Chỉ những phím bạn cần

Đó là toàn bộ bộ kỹ năng của nano. Học thuộc bốn tổ hợp Ctrl, bỏ qua phần còn lại.

Di chuyển: phím mũi tên

Không cần học thêm gì. Home/End nhảy đầu/cuối dòng.

Gõ: cứ gõ

Sửa như một ô văn bản bình thường.

Ctrl-O: lưu

Ghi file, hỏi tên — nhấn Enter để xác nhận.

Ctrl-X: thoát

Đóng nano. Nếu có thay đổi chưa lưu, nó hỏi trước.

Ctrl-K: cắt một dòng

Cắt dòng hiện tại vào 'bộ nhớ tạm' nhỏ của nano.

Ctrl-U: dán

Dán lại dòng vừa cắt vào vị trí con trỏ.

02
Phần 2

vim — trình soạn thảo có 'chế độ'

Chỉ cần nắm một ý duy nhất là hiểu được tất cả: vim có 'chế độ' (modes). Học cái đó trước, phần còn lại tra là có.

vim · ý tưởng cốt lõi

Ba chế độ, một nút home

Esc là 'nút home' — từ đâu nó cũng đưa bạn về Normal mode.

Normal — mặc định

Bạn luôn bắt đầu ở đây. Di chuyển, thao tác trên text, chạy lệnh.

Insert — nhấn i

Giờ bạn gõ chữ như ở trình soạn thảo bình thường. Đây là chế độ 'gõ' duy nhất.

Visual — nhấn v

Chọn một vùng text, rồi thao tác trên cả vùng đó một lượt.

vim · trông như thế nào

Cùng một file, hai chế độ

Các dòng ~ đánh dấu phần trống từ cuối file trở đi. Thanh xanh dương là status line — tên file và trạng thái. Đó là toàn bộ diện mạo của vim.

Normal mode — nơi bạn luôn bắt đầu

Di chuyển & thao tác bằng phím — không gõ chữ. Con trỏ nằm đè lên một ký tự.

server: app-2
port: 8080
~
~
~
config.yml[Modified] 2L,23C

Insert mode — sau khi nhấn i

Giờ bạn gõ như ở trình soạn thảo bình thường. Dòng -- INSERT -- là dấu hiệu duy nhất cho biết bạn đang ở trong vim.

server: app-2█
port: 8080
~
~
~
config.yml[Modified] 2L,23C
-- INSERT --

Không menu, không nút, không cần chuột — toàn bộ giao diện là text.

vim · phiên tối thiểu

Một phiên vim trọn vẹn, 6 dòng

Chuỗi thao tác này chiếm 90% mọi phiên vim bạn sẽ dùng.

vim-session
$ vim config.yml

i                     ← enter insert mode
  server: app-2       ← the one-line edit
<Esc>                 ← back to normal mode
:wq                   ← save & quit

# :q = quit · :q! = quit WITHOUT saving

Mở → i → sửa → Esc → :wq. Học thuộc điệu nhảy đó là hết sợ vim.

vim · Normal mode

Những phím di chuyển đảm nhận 90% công việc

Bạn sẽ quên chúng ngay khi đóng tab — hoàn toàn bình thường. Đây là danh sách tra cứu, không phải bài thi.

PhímCông dụng
h / j / k / ltrái · xuống · lên · phải — phím mũi tên đội lốt
w / bnhảy tới từ kế tiếp / từ trước
0 / $đầu dòng / cuối dòng
gg / Gđầu file / cuối file
/termtìm — /term + Enter nhảy tới kết quả, n = kết quả kế tiếp
vim · thao tác trên text

Chép, dán và tìm

Khi đã di chuyển và gõ được, chỉ cần thêm ba động từ này là đủ bộ công cụ.

y — yank (chép)

yy chép cả dòng hiện tại. Vim tự ghi nhớ — không cần khái niệm 'clipboard'.

p — put (dán)

Nhấn p để thả dòng vừa chép ngay sau con trỏ. Đơn giản vậy thôi.

/word — tìm kiếm

Tìm một từ tức thì. n nhảy tới kết quả kế, N quay lại kết quả trước.

Toàn bộ bộ công cụ

Di chuyển (hjkl, w, 0, gg) + thao tác (i, y, p, /) là đủ cho gần như mọi việc bạn làm.

Lựa chọn

Dùng editor nào, khi nào

Quy tắc ngón tay cái: nano khi cần xong nhanh, vim khi server bắt buộc, helix trên máy của bạn — nơi bạn tự quyết cài gì.

nano — việc nhanh, dùng một lần

Mở, sửa một dòng, xong. Không cần luyện tay. Hợp cho người mới và những chỗ sửa nhỏ.

vim — mạnh mẽ & có ở mọi nơi

Có sẵn trên mọi server. Khi quen normal mode, bạn sửa cực nhanh mà không cần chạm vào chuột.

03
Phần 3

helix — lựa chọn hiện đại

Trình soạn thảo thế hệ mới: không có 'chế độ', LSP tích hợp sẵn, cảm giác như IDE hiện đại ngay trong terminal.

HELIX

Vì sao nó ra đời

Vấn đề của vim

'Chế độ' thì mạnh nhưng dễ gây rối. Muốn autocomplete phải cài plugin, muốn format phải cài thêm, muốn diagnostics phải cài tiếp. Setup thành một dự án riêng.

Helix làm khác gì

Một binary duy nhất. Không plugin. LSP, tree-sitter syntax, nhiều con trỏ, auto-format — tất cả có sẵn. Gõ lên là chạy. Cài xong là sửa được.

helix · những phím cần nhớ

Năm phím mở khóa mọi thứ

Không cần nhớ 'chế độ'. Gõ là sửa. Năm phím này phủ 95% việc làm hàng ngày.

Esc — về chế độ chọn

Dừng gõ, về chế độ chọn. Đây là 'chuyển chế độ' duy nhất bạn cần.

j / k — di chuyển dòng

Xuống và lên. Bạn sẽ dành nhiều thời gian di chuyển hơn là gõ.

c — sửa (xóa + gõ)

Xóa dòng hiện tại và chuyển sang chế độ gõ. Phím 'lao động' chính.

d + chuyển động — xóa

dd = xóa dòng, dw = xóa từ. Xóa nhanh, chính xác.

:w / :q — lưu / thoát

Gõ dấu hai chấm, lệnh hiện ra. :w lưu, :q thoát. :wq làm cả hai.

helix · trên thực tế

Buổi đầu tiên với helix

ops@vps — zsh
$ helix nginx.conf
# you're editing — just type
Esc → selection mode (cursor becomes a bar)
dd # delete this line
i # insert before cursor — type your text
Esc → :w Enter # save
Esc → :q Enter # quit
Nếu server chỉ có vim, bạn dùng vim. Nhưng VPS của chính bạn? Cài helix và không bao giờ phải nghĩ đến việc setup trình soạn thảo nữa.
— góc nhìn thực dụng
Kỹ năng thực sự là: mở file, sửa một dòng, lưu, đóng. Đó là 90% những gì bạn sẽ cần.
— toàn bộ bài học trong một câu

Mở. Sửa. Lưu. Đóng.

Giờ hãy đi sửa file cấu hình đó — nano, vim, hay helix — bạn đã có đủ công cụ.