Bạn đã biết dùng Vim chưa? Vim chứ không phải là Vim nhé.
Bài đăng này đã không được cập nhật trong 3 năm
Lời mở đầu
- Nghe cái tên
Vim
chắc nhiều bạn sẽ nghĩ đến sản phầm giúp diệt 99,9% vi khuẩn nhưng mà khoan đã: "Đây là Viblo- blog chia sẻ kiến thức công nghệ thông tin mà, Vim thì liên quan gì ở đây???????" - Câu trả lời là có, nhưng không phải
Vim
mà bạn đang nghĩ đâu
Nội dung
Vim là gì?
- Theo như định nghĩa trên wikipedia thì:
Vim - viết tắt của từ Vi IMproved là một bản sao, với một số bổ sung, của trình soạn thảo vi của Bill Joy cho Unix. Nó được viết bởi Bram Moolenaar dựa trên mã nguồn của một port của Stevie editor lên Amiga và phát hành lần đầu vào năm 1991.
- Khi bạn sử dụng các hệ điều hành dựa trên Unix (nếu vẫn đang thấy hoang mang giữa các khái niệm Unix/Linux/... thì bạn có thể nghiên cứu bài viết này nhé) thì việc phải thao tác với CLI (command-line interface) giống như cơm bữa vậy. Và Vim là một công cụ tuyệt vời để làm điều đó.
Tại sao lại cần sử dụng Vim?
- Nếu chỉ là một editor thì Ubuntu (hay những hệ điều hành dựa trên Unix) đã có sẵn
nano
rồi mà, tại sao lại phải cài đặt thêmVim
nữa? - Ưu điểm của Vim:
- Mọi thao tác đều có thể thực hiện thông qua các phím tắt mà không cần dùng tới chuột (nhưng nó cũng dẫn đến khuyết điểm là số lượng phím tắt khổng lồ cần nhớ, nên nếu bạn muốn kiểu mì ăn liền thì chắc Vim không dành cho bạn đâu )
- Tốc độ khởi động nhanh (cái này sẽ thấy rõ hơn khi ssh vào server thay vì sử dụng ở máy tính cá nhân)
- ...
- Mỗi ứng dụng đều có những điểm mạnh và điểm yếu riêng của mình, và trong lĩnh vực công nghệ thông tin nói chung thì quan điểm của mình là "Không có gì là tốt nhất, chỉ có phù hợp nhất mà thôi", vì vậy việc lựa chọn sử dụng
Vim
haynano
là tùy thuộc vào bản thân bạn, chắc sắp tới mình sẽ viết một bài so sánh giữaVim
vànano
để các bạn mới tìm hiểu sẽ dễ dàng đưa ra quyết định hơn.
Cài đặt
-
Chỉ với 2 câu lệnh cơ bản, bạn đã có thể cài đặt và sử dụng Vim:
sudo apt update sudo apt-get install vim #hình như từ Ubuntu 18.04 là chỉ cần `apt` thôi chứ ko phải `apt-get` nữa
-
Sau khi cài đặt xong, bạn gõ câu lệnh
vim
trên CLI thì sẽ thu được hình ảnh giống như bên dưới.
Những thao tác cơ bản
1. Các chế độ của Vim
-
Vim mang đến cho người dùng 7 CHẾ ĐỘ, bao gồm:
normal
,insert
,visual
,replace
,Ex-mode
,select
,command-line
. -
Sợ chưa? Nhưng đừng từ nản vội, có 3 chế độ thường được sử dụng hơn cả, vì thế cứ tạm gác 4 chế độ còn lại đã.
Normal
: Chế độ này cho phép bạn có thể sử dụng các câu lệnh, được bắt đầu bằng dấu:
hoặc các phím tắt (đây là chế độ mặc định khi bạn vừa khởi động Vim)Insert
: Chế độ cho phép bạn chỉnh sửa, thao tác với văn bản tương tự như các trình biên soạn khác bằng cách gõ các kí tự. Để chuyển sang chế độ này từ chế độNormal
, bạn có thể ấn phímA
hoặci
,I
,o
,O
,a
(vì sao lại có nhiều nút cùng để chuyển sang chế độ Insert thế, câu trả lời sẽ nằm ở đằng sau). Ở chế độ này sẽ có ký hiệu -- INSERT -- ở góc trái dưới CLI.
Visual
: Chế độ này tương tự chế độNormal
nhưng cho phép bôi đen đoạn văn bản để thao tác. Để chuyển sang chế độ này, bạn có thể gõ phímv
. Ở chế độ này sẽ có ký hiệu -- VISUAL -- ở góc trái dưới CLI.
2. Mở file
- Bạn có 2 cách để mở 1 file với Vim:
- Mở file ngay khi khởi động Vim:
vim `path-to-file`
- Khởi động Vim với câu lệnh
vim
, rồi sử dụng một trong những câu lệnh sau để mở file (khá là cồng kềnh phải không nào)::edit
,:open
,:tabedit
,:split
,:vsplit
.
- Mở file ngay khi khởi động Vim:
3. Các thao tác trong file
- Từ đây bắt đầu phức tạp rồi này, cứ bình tĩnh bạn nhé:
Di chuyển con trỏ:
- Nếu bạn đã từng sử dụng
vi
thì chắc hẳn bạn cũng biết các phím để di chuyển con trỏ gồmh (trái)
,j (dưới)
,k (trên)
,l (phải)
. - Và
Vim
là Vi IMproved nên thao tác này cũng được thay đổi để trực quan hơn với 4 phím điều hướng (←, ↓, ↑, →). - Nếu chỉ di chuyển trong 1 dòng hoặc file ngắn thì việc sử dụng phím điều hướng là đủ, nhưng với 1 file lớn hơn thì sao? Chả nhẽ ngồi giữ phím điều hướng à? Rất may câu trả lời là không.
:<số-dòng>
: để di chuyển con trỏ đến dòng tương ứng0
: di chuyển con trỏ đến đầu dòng hiện tại:0
: di chuyển con trỏ đến dòng đầu tiên của file$
: di chuyển con trỏ đến cuối dòng hiện tại:$
: di chuyển con trỏ đến dòng cuối cùng của file:/<từ-cần-tìm>
: để di chuyển con trỏ đến vị trí của từ khóa cần tìm ở trong file.v + phím điều hướng
: bôi đen đoạn text.y
: copy đoạn text đang bôi đenp
: paste đoạn text đang được copy
Chèn
- Đây sẽ là câu trả lời cho bạn vì sao lại có tới 6 phím để chuyển từ chế độ
Normal
sangInsert
, bởi vì mỗi 1 phím khác nhau thì việc thực thi sẽ khác nhau:i
: con trỏ sẽ ở vị trí hiện tạiI
: con trỏ sẽ ở đầu dòng hiện tạia
: con trỏ sẽ ở ngay sau vị trí hiện tại 1 kí tựA
: con trỏ sẽ ở cuối dòng hiện tạio
: thêm một dòng bên dưới dòng hiện tại và đặt con trỏ tại dòng nàyO
: thêm 1 dòng bên trên dòng hiện tại
Xóa
- Sau khi thêm thì đến mục bớt nào
x
: xóa một ký tự ở vị trí hiện tạidw
: xóa một từ tính từ vị trí con trỏ hiện tại (xóa cả các dấu cách)d
hoặcdd
: xóa cả dòng hiện tạid$
: xóa hết dòng tính từ vị trí hiện tại của con trỏd{số-dòng}
: xóa số dòng bằng giá trị {số-dòng} tính từ dòng hiện tại.
Undo (hoàn tác)
- Bạn không thế đảm bảo tất cả những thay đổi của bạn đều chính xác 100%, vì vậy mọi editor đều cho bạn cơ hội để
đi lại
, vàVim
cũng không ngoại lệ. Thay vì phím tắtCtrl + Z
quen thuộc của nhiều editor thìVim
sử dụngu
hoặcCtrl + R
.
Lưu file/thoát
-
Sau khi thêm/sửa/xóa file xong thì tất nhiên bạn sẽ cần thoát ra để thực hiện tác vụ khác, còn có lưu hay không thì tùy bạn ^^
:w
: lưu file mà ko thoát file:wq
hoặc:x
: lưu và thoát file:q
: thoát file:q!
: thoát mà không lưu file (nếu bạn sửa file mà chưa:w
để lưu mà dùng:q
thì sẽ có thông báo như ảnh bên dưới, hoặc là bạn lưu lại rồi mới thoát, hoặc dùng:q!
để thoát mà không lưu lại những thay đổi này)
:qa
: thoát tất cả các file đang mở
-
Trên đây cũng khá là đầy đủ các thao tác để bạn có thể làm việc với một file bằng Vim rồi.
-
Nếu như bạn đã thành thạo những thao tác cơ bản này thì có thể tham khảo thêm những phím tắt hay command hữu dụng của
Vim
bằng cách sử dụng câu lệnh:help
nhé.
Tổng kết
- Trong phạm vi bài viết này, mình chỉ có thể cung cấp những thao tác cơ bản nhất để các bạn có thể bắt đầu sử dụng được Vim, và cũng giống như việc học một thứ ngoại ngữ mới, "trăm hay không bằng tay quen", hãy tập luyện thường xuyên để sử dụng thành thạo được công cụ cực kỳ hữu dụng này nhé.
- Cảm ơn các bạn đã dành thời gian theo dõi bài viết, nếu có bất cứ vấn đề gì về nội dung bài viết, hãy comment góp ý xuống dưới bài viết để mình chỉnh sửa hoặc giải đáp cho các bạn nhé.
Tài liệu tham khảo
- Vim repository: https://github.com/vim/vim
- Viblo: https://viblo.asia/tags/vim
- 1 trang tutorial khá hay để luyện Vim (được 1 bác trên FB chia sẻ): https://www.openvim.com/
All rights reserved