Trình Soạn Thảo: nano và vim

K
Kai··4 min read

Trên server Linux thường không có giao diện đồ họa. Khi cần sửa một file cấu hình, bạn dùng trình soạn thảo chạy ngay trong terminal. Bài này dạy hai cái phổ biến nhất: nano (dễ cho người mới) và vim (có mặt gần như mọi nơi). Biết ít nhất một cái là bắt buộc.

Cài đặt

Ubuntu tối giản thường chưa có sẵn editor. Cài (quản lý gói ở Bài 11):

apt-get update && apt-get install -y nano vim

Trên gần như mọi server Linux luôn có sẵn vi (phiên bản gốc, vim là bản nâng cao). Vì vậy biết vim/vi là kỹ năng "cứu mạng" — kể cả khi máy không cài gì thêm, bạn vẫn sửa được file.

nano: đơn giản, hợp người mới

Mở (hoặc tạo) file:

nano notes.txt

Bạn gõ chữ trực tiếp như mọi trình soạn thảo bình thường. Phía dưới màn hình là danh sách phím tắt, trong đó ^ nghĩa là phím Ctrl:

  • Ctrl + O rồi Enter — lưu (Write Out).
  • Ctrl + X — thoát (nếu chưa lưu, nano hỏi).
  • Ctrl + W — tìm kiếm.
  • Ctrl + K — cắt dòng; Ctrl + U — dán.
  • Ctrl + G — trợ giúp.

nano trực quan vì gợi ý phím luôn hiện sẵn. Với người mới, dùng nano cho việc sửa nhanh là đủ.

vim: vì sao nên biết, dù khó hơn

vim mạnh và có mặt khắp nơi, nhưng nó "khó vào" vì hoạt động theo các chế độ (modes) — đây là điều khiến người mới bối rối nhất (gõ chữ mà màn hình nhảy lung tung, hoặc không thoát ra được).

        ┌──────────────┐
   i,a  │              │  Esc
  ┌────►│  Insert mode │────┐   gõ chữ ở đây
  │     │  (chèn text) │    │
  │     └──────────────┘    │
┌─┴────────────┐            ▼
│ Normal mode  │◄───────────┘
│ (di chuyển,  │
│  lệnh phím)  │── khi mở file là ở đây
└─┬────────────┘
  │ gõ :
  ▼
┌────────────────────────┐
│ Command-line mode      │  :w lưu  :q thoát  :wq lưu+thoát  :q! bỏ
└────────────────────────┘

Khi mở file, vim ở Normal mode — các phím là lệnh, không phải để gõ chữ. Đây là chỗ người mới hay hoảng.

vim sống sót: tối thiểu cần nhớ

Mở file:

vim config.txt
  1. Chèn chữ: nhấn i (insert) để vào Insert mode, giờ gõ chữ bình thường.
  2. Thoát Insert mode: nhấn Esc để về Normal mode.
  3. Lưu và thoát: ở Normal mode, gõ :wq rồi Enter (w = write, q = quit).
  4. Thoát không lưu: gõ :q! rồi Enter (dấu ! = ép, bỏ thay đổi).

Chỉ bốn bước đó là đủ để mở, sửa, lưu, thoát. "Làm sao thoát vim" là câu hỏi nổi tiếng nhất — câu trả lời: nhấn Esc rồi gõ :q!.

Thêm vài lệnh hữu ích (ở Normal mode)

  • Di chuyển: phím mũi tên, hoặc h j k l (trái/xuống/lên/phải).
  • dd — xóa cả dòng. yy — copy dòng. p — dán.
  • u — hoàn tác (undo). Ctrl + r — làm lại (redo).
  • /từ-khóa rồi Enter — tìm; n để tới kết quả tiếp theo.
  • :set number — hiện số dòng.
  • gg về đầu file, G xuống cuối file.

Bạn không cần thuộc hết ngay. Nhớ "vim sống sót" (i, Esc, :wq, :q!) trước, phần còn lại nhặt dần khi dùng.

Kiểm chứng vim làm việc thật (không cần vào giao diện): vim có thể chạy lệnh ở chế độ ex. Ví dụ thay text rồi lưu trong một dòng — vim -e -s file nhận lệnh :%s/cũ/mới/:wq. Cú pháp :%s/cũ/mới/ (thay toàn file) cũng dùng được khi bạn đang mở file bình thường.

Chọn cái nào

  • Mới học, cần sửa nhanh: dùng nano, gợi ý phím hiện sẵn nên không lạc.
  • Làm việc trên nhiều server, muốn chắc chắn luôn có editor: học vim (vì vi luôn có sẵn). Chỉ cần mức "sống sót" là đủ qua mọi tình huống.

Lời khuyên thực dụng: dùng nano cho thoải mái, nhưng bắt buộc nhớ cách thoát vim — vì sẽ có lúc bạn vào nhầm vim (nhiều lệnh mở vim mặc định, như git commit không có message) và cần thoát ra.

🧹 Dọn dẹp

rm -f notes.txt config.txt

Tổng kết

Trên server không GUI, bạn sửa file bằng editor trong terminal. nano đơn giản, phím tắt hiện sẵn (Ctrl+O lưu, Ctrl+X thoát) — hợp người mới. vim mạnh và có mặt khắp nơi nhưng theo chế độ: nhớ i để chèn, Esc để ra, :wq để lưu thoát, :q! để bỏ. Biết ít nhất mức sống sót của vim là kỹ năng cứu mạng trên server.

Giờ bạn tạo và sửa được file. Bài 5 học cách đọc và xử lý nội dung file ở quy mô lớn — cat, grep, sed, awk và bạn bè — những công cụ làm nên sức mạnh dòng lệnh Linux.