+2

Vim gồm những gì nhỉ? Bạn đã biết hết chưa ?

1. Vì sao mọi người dùng Vim:

  • Phổ biến: Vim có trên cả MAC, Ubuntu và Windows.
  • Nhẹ. Cùng một file lớn, mở bằng vim sẽ nhẹ hơn so với các trình soạn thảo khác (ít nhất là so với gedit).
  • Nhanh: Bạn có thể chỉnh sửa các đoạn văn bản mà không cần dùng chuột, chỉ sử dụng bàn phím
  • Khi triển khai các server, việc remote vào máy ảo, việc cài đặt gedit hay sublime text rõ ràng không khả thi mà cần một số trình chỉnh sửa văn bản dòng lệnh. Vim là một lựa chọn không hề tồi 😄.

2. Các chế độ ở trong Vim: (Mode)

1. Normal Mode

Đây là chế độ đầu tiên khi bạn khởi động Vim.

Các lệnh trong Normal Mode:

i trong insert, ngay lập tức chuyển vim sang chế độ insert.

a trong 'append', điều này sẽ di chuyển con trỏ sau vị trí con trỏ đang đứng trong chế độ insert

o chèn một dòng mới bên dưới dòng hiện tại và vào chế độ chèn trên dòng mới


I trong 'insert' nó di chuyển con trỏ hiện tại đến đầu dòng và vào chế độ insert.

A trong 'append' nó di chuyển con trỏ hiện tại đến cuối dòng và vào chế độ insert

O chèn một dòng mới phía trên dòng hiện tại và vào chế độ insert

2. Command Mode

Chế độ này là nơi bạn phô diễn kỹ thuật với hàng loạt các lệnh và các phím tắt trong Vim. Với một người dùng Vim chuyên nghiệp, đây có lẽ là chế độ bạn dùng nhiều nhất.

3. Insert Mode

Chế độ này cho phép bạn chèn kí tự vào trong văn bản.

4. Visual Mode

Chế độ này cho phép bạn chọn các vùng văn bản để thao tác với chúng (ví dụ như chọn đoạn văn bản để copy, cut hay xóa ...).

Các lệnh trong Visual Mode: I A o r R

5. Replace Mode

Bạn chỉ cần gõ r để thay thế ký tự hiện tại mà bạn đặt con trỏ hoặc bạn có thể gõ R (chữ hoa) để thay thế từng ký tự ngay chỗ con trỏ đang đặt cho tới cuối dòng

Để chuyển qua giữa các chế độ này với nhau ta sử dụng các phím Esc (chuyển chế độ dòng lệnh), i để sang chế độ insert và V hoặc v để chuyển sang chế độ Visual.

3. Điều hướng trong Vim (Navigating)

Link tham khảo: https://viblo.asia/p/cac-lenh-dieu-huong-trong-vim-navigation-in-vim-bJzKmPXw59N

4. Các lệnh trong Vim (Command)

:q: Thoát khỏi Vim
:q!: Bắt buộc thoát không cần lưu
:w: Lưu file
:w!: Bắt buộc ghi file (ghi đè)
:wq: Lưu xong thoát
:saveas filename
:w filename
$: nhảy về cuối dòng hiện tại
0 (số không @@): nhảy về đầu dòng hiện tại
gg: nhảy lên đầu file
G: nhảy xuống cuối file
50G: nhảy tới dòng 50 của file
Ctrl + G: Xem thông tin dòng hiện tại
Ctrl + F: Move to page forward

Cut, Coppy, Delete

yy: yank copy dòng hiện tại
dd: cut dòng hiện tại
p: paste

Act, Repeat và Reverse

Search

Auto-completion

Mark

Text Indent

Syntax highlighting

Compare file

vimdiff file1 file2
vim -d file1 file2
vimdiff -o
vimdiff -do 
]c: change to next change
diffupdate

Tham khảo các lệnh ở đây: https://viblo.asia/p/cac-cau-lenh-vim-ma-cac-developer-nen-biet-ByEZkLyglQ0#_syntax-highlighting-14

Numbers

Ctrl + a => Increament by 1
Ctrl + x => Descrease 
5Ctrl + a
:put =range(10, 15)
:set nu!
:12put =range(10, 15) => put từ dòng 12
:0put =range(1, 2) => put từ dòng đầu tiên
:$put =range(1111, 1115)
:for i in range(1111, 1115) | put = '192.168.9.'.i | endfor

Cú pháp lệnh trong Vim

So in English you have present simple tense:

S + V + O

Formula: Subject + Verb + Object

Example: I love Javascript

So in Vim we also have the action structure:

C + M + TO
Formula: Command + Motion + Text Object
Example: diw ( delete in words)

So as you can see in english we have basic tense is present simple. So we also have action structure in Vim ( C + M + TO).

Main commands

d: delete
c: change
v: visual
y: yank

Main Motion:

1, 2, 4, 5, … (Numbers)
a: all
i: in
t: till
f: find forward
F: find backward

Main Text Objects:

w: words
s: sentences
p: paragraphs
t: tags

Practice to make your habit

1. Play game: https://vim-adventures.com/

2. Vimium

3. Bắt đầu chỉnh sửa code bằng Vim trên terminal


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.