0

Vim/Neovim cho người mới: 10 phút để productive

Vim không khó như mọi người nghĩ. Bạn chỉ cần biết 20% commands để productive 80% thời gian.

Tại sao Vim?

  • Có sẵn trên mọi server (SSH vào là có)
    • Nhanh hơn bất kỳ editor nào khi thành thạo
    • Không cần rời keyboard

4 Modes

  1. Normal (mặc định): di chuyển và thao tác text
    1. Insert (i): gõ text bình thường
    1. Visual (v): chọn text
    1. Command (:): chạy commands

Esc luôn đưa bạn về Normal mode.

Di chuyển (Normal mode)

h j k l     → trái xuống lên phải
w / b       → nhảy đầu từ tiếp / trước
0 / $       → đầu dòng / cuối dòng
gg / G      → đầu file / cuối file
Ctrl+d/u    → scroll nửa trang xuống/lên
/keyword    → tìm kiếm (n = kết quả tiếp)

Chỉnh sửa

i           → insert trước cursor
a           → insert sau cursor
o / O       → dòng mới dưới / trên
dd          → xóa cả dòng
yy          → copy cả dòng
p           → paste
u           → undo
Ctrl+r      → redo

Combo hay dùng nhất

ciw         → đổi cả từ (change inner word)
ci"         → đổi text trong "..."
di(         → xóa text trong (...)
yiw         → copy cả từ
dw          → xóa từ cursor đến cuối từ
D           → xóa từ cursor đến cuối dòng
.           → lặp lại thao tác vừa làm

Commands hay dùng

:w          → lưu
:q          → thoát
:wq         → lưu và thoát
:q!         → thoát không lưu
:%s/old/new/g → find & replace toàn file
:set number → hiện số dòng

Config tối thiểu (~/.vimrc)

set number          " Hiện số dòng
set relativenumber  " Số dòng tương đối
set tabstop=4       " Tab = 4 spaces
set shiftwidth=4
set expandtab       " Tab thành spaces
set autoindent
set ignorecase      " Search không phân biệt hoa thường
set smartcase       " Trừ khi gõ chữ hoa
set hlsearch        " Highlight search results
set incsearch       " Search real-time
set clipboard=unnamedplus " Copy/paste với system clipboard
syntax on

Neovim + minimal plugins

# Cài Neovim
sudo apt install neovim
# hoặc: brew install neovim

File ~/.config/nvim/init.vim:

" Bao gồm config vim cơ bản
source ~/.vimrc

" Plugin manager (vim-plug)
call plug#begin()
Plug 'tpope/vim-commentary'   " gcc để comment
Plug 'tpope/vim-surround'     " cs'" đổi ' thành "
Plug 'junegunn/fzf.vim'       " Ctrl+p tìm file
call plug#end()

5 phút mỗi ngày

  1. Tuần 1: hjkl, i, Esc, :wq — đủ để sống sót
    1. Tuần 2: w, b, dd, yy, p — bắt đầu nhanh hơn
    1. Tuần 3: ciw, ci", /search — bắt đầu thấy mạnh
    1. Tuần 4: . repeat, visual mode — productivity tăng rõ

Đừng cố học hết. Mỗi ngày thêm 1 command mới.


Bạn dùng Vim hay VS Code? Hay cả hai?


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí