คู่มือเริ่มต้นใช้ Vim - Text Editor โหมด (Modal) ที่ทรงพลัง มาติดตั้งพร้อม Linux/macOS ทุกตัว
สองโหมดหลักของ Vim
| โหมด | เข้าโดย | ทำได้ |
| Normal (Command) | เริ่มต้น / Esc | รันคำสั่ง: Move, Delete, Copy, Search, Save, Quit |
| Insert | i / a / o | พิมพ์ข้อความเข้าไฟล์ (เห็น -- INSERT --) |
มีอีก: Visual (Select), Command-line (:), Replace (R)
คำสั่งพื้นฐาน (Cheat Sheet)
เปิด/สร้าง/ออก
vim file.txt # เปิด/สร้างไฟล์
vim # เริ่มต้นว่าง
:q # ออก (ถ้ายังไม่ Save)
:w # Save
:wq / :x # Save และ ออก
:q! # ออกไม่ Save (Force)
การเคลื่อนที่ (Normal Mode)
h j k l # ← ↓ ↑ →
w b # คำถัดไป / คำก่อน
0 $ # ต้นบรรทัด / ท้ายบรรทัด
gg G # ต้นไฟล์ / ท้ายไฟล์
Ctrl+u Ctrl+d # Scroll ครึ่งหน้าจอ
/pattern # ค้นหา (n = ถัดไป, N = ก่อน)
แก้ไขข้อความ
i # Insert ก่อน Cursor
a # Append หลัง Cursor
o # New line ด้านล่าง
O # New line ด้านบน
x # ลบตัวอักษร 1 ตัว
dw # ลบ 1 คำ (Delete word)
dd # ลบ 1 บรรทัด (Delete line)
D # ลบจาก Cursor ถึงท้ายบรรทัด
yy # Copy 1 บรรทัด (Yank)
yw # Copy 1 คำ
p # Paste หลัง Cursor
P # Paste ก่อน Cursor
u # Undo
Ctrl+r # Redo
. # ทำซ้ำคำสั่งล่าสุด
Search & Replace
/pattern # ค้นหา
n / N # ถัดไป / ก่อน
:s/old/new/ # แทนที่ในบรรทัดนี้ ครั้งแรก
:s/old/new/g # แทนที่ในบรรทัดนี้ ทั้งหมด
:%s/old/new/g # แทนที่ทั้งไฟล์
:%s/old/new/gc # แทนที่ทั้งไฟล์ + ยืนยันแต่ละครั้ง
Visual Mode (Select)
v # Character-wise
V # Line-wise
Ctrl+v # Block-wise (Rectangle)
# แล้วใช้ d, y, >, <, = ฯลฯ
การตั้งค่าขั้นพื้นฐาน (~/.vimrc)
set number # แสดงหมายเลขบรรทัด
set relativenumber # เลขบรรทัดสัมพัทธ์ (ดีสำหรับ motion)
set tabstop=4
set shiftwidth=4
set expandtab # Tab → Space
set autoindent
set smartindent
set hlsearch # Highlight search
set incsearch # Incremental search
set ignorecase
set smartcase
syntax on
filetype plugin indent on
ทรัพยากรเรียนรู้เพิ่มเติม
vimtutor - Interactive tutorial 30 นาที (รันใน Terminal)
- Vim Adventures - เกมสอน Vim
- OpenVim - Interactive tutorial เว็บ
- Vim Cheat Sheet - พิมพ์หาใน Google ได้เยอะมาก
Vim มี Learning Curve ชัน แต่เมื่อคล่องแล้ว จะแก้ไขโค้ด/ข้อความได้เร็วกว่า Editor ทุกตัว