Lời mở đầu
Hôm nay, chúng ta sẽ học cách sao chép chữ, từ và dán những chữ, từ. Đồng thời mình sẽ giới thiệu thêm với các bạn về visual mode
để dùng chung với sao chép và dán. Thêm vào đó, mình cũng sẽ giới thiệu cho các bạn về register để có thể làm việc hiệu quả với sao chép và dán trong vim.
Sao chép
Để sao chép trong VIM, chúng ta dùng phím y
. Với phím y
này, chúng ta bắt buộc phải kết hợp với những phím di chuyển. Một số ví dụ như yw
sẽ là sao chép 1 từ, y2w
là sao chép 2 từ, y10l
là sao chép sao phải 10 kí tự bao gồm cả kí tự ngay con trỏ. Giả sử mình có chữ thich hoc
và con trỏ đang nằm ở chữ o
, để sao chép chữ o
mình sẽ nhấn yl
, để sao chép đến cuối từ mình nhấn yw
. Đồng thời chúng ta có Y
để sao chép nguyên dòng.
Dán
Để dán chúng ta sẽ dùng phím p
và P
. p
là dán chữ đã sao chép ngay phía sau con trỏ, lấy ví dụ mình có từ thich hoc
, giả sử mình đã sao chép chữ A
và con trỏ của mình đang ở chữ o
. Khi nhấn p
thì chữ A
mình sao chép lúc nãy sẽ được dán vào chữ phía sao con trỏ tức là dán vào phía sau chữ o
, lúc này mình có chữ thich hoAc
. Tương tự cho phím P
, chữ sao chép lúc này của mình cũng là chữ A
và con trỏ cũng đang nằm ở chữ o
, khi nhấn P
thì mình sẽ dán chữ A
này ở đằng trước con trỏ tức là thêm chữ A
này ngay đằng trước chữ o
. Mình sẽ có kết quả là thich hAoc
Visual mode
Đến hiện tại chúng ta có 2 chế độ, insert mode và command mode. Insert mode dùng để các bạn thoải mái gõ từ, gõ chữ, gõ câu, gõ bất cứ thứ gì bạn có thể gõ. Command mode thì để có thể sử dụng những command trong VIm như di chuyển sang trái, di chuyển sang phải, di chuyển từng câu, từng từ,…. Hôm nay, chúng ta sẽ biết thêm về visual mode, thường mình dùng để chọn từ, chọn câu để mình sao chép.
Để vào visual mode, bạn sẽ bấm chữ v
. Để ý bên trái dưới cùng màn hình thì các bạn sẽ thấy có chữ Visual, như vậy là chúng ta đã vào visual mode. Ở chế độ này, khi di chuyển lên xuống trái phải, di chuyển từng từ từng câu từng chữ thì các bạn sẽ thấy là những chữ từ vị trí con trỏ lúc đầu cho đến khi bạn di chuyển sẽ được thêm màu nền vào, thường là màu xám, nó có nghĩa là những chữ bạn đang chọn. Ví dụ như chữ thich hoc
, giả sử con trỏ mình đang ở chữ t
, khi mình vào visual mode và nhấn w
tức là mình di chuyển đến cuối từ thì các bạn sẽ thấy chữ thich
được tô màu nền xám, nó có ý nghĩa là mình đã chọn từ thich
.
Sau khi đã chọn xong, chúng ta có thể sử dụng kết hợp với sao chép và dán. Lấy ví dụ trên khi đã chọn được chữ thich
, mình nhấn y
thì vim sẽ sao chép mình đã chọn, bao gồm luôn cả vị trí con trỏ nhé. Sau đó mình di chuyển đến chỗ mình muốn, trong trường hợp này mình sẽ di chuyển đến sau từ học và nhấn p
, kết quả mình có thich hoc thich
, nếu nhấn P
kết quả mình có là thich hocthich
.
Register
Register là một bộ nhớ nho nhỏ trong VIM dùng để lưu chữ khi chúng ta thêm, sửa, xóa, sao chép chữ. Về register, chúng ta sẽ có register có tên và tên này thường là 1 kí tự như r
, a
. Để sao chép vào trong register thì chúng ta sẽ bắt đầu bằng phím "
để truy cập register, sau đó là tên register đó và sau cùng là lệnh để sao chép. Ví dụ mình muốn sao chép chữ hoc
vào trong register tên r
, thì mình sẽ nhấn "ryw
, "
để gọi register, r
để gọi biết register tên r
và yw
là sao chép 1 từ.
Ngoài ra, register có register không tên. Mình thì hay sử dụng cái này hơn, với cái register không tên này thì khi mình sao chép, xóa thì nó sẽ tự động nhảy vào cái register này. Khi dán thì nó sẽ lấy cái mới nhất trong register. So, làm sao để có thể dán những từ mà mình đã sao chép hoặc xóa trong quá khứ? Chào mừng các bạn đến với cổ máy quay ngược thời gian unnamed register
. Các bạn vào command mode, gõ :reg
và enter. Tada , các bạn sẽ thấy 1 danh sách những từ, những chữ mà các bạn đã sao chép hoặc xóa nãy giờ. Để dán những kí tự đó thì các bạn chỉ cần gõ tên phía bên trái cùng với lệnh dán là chữ p
. Ví dụ muốn dán content của "0
thì gõ "0p
, muốn dán content của "9
thì gõ "9p
. "0
sẽ là cái mới nhất.
Undo redo
Có những trường hợp mình lỡ tay xóa chữ xong cảm thấy tội lỗi quá muốn sửa đổi lỗi lầm thì mình sẽ dùng undo trong VIM. Để dùng undo, bấm phim u
. Ngược lại với undo là redo thì bấm CTRL
+ R
. Ví dụ chữ thich hoc
, xóa mất từ hoc
thì còn từ thich
. Nhấn phím u
ta có thich hoc
, nhấn CTRL + R
để redo ta có thich
.
Tóm tắt
Trong bài này chúng ta đã tìm hiểu cách sao chép chữ với y
và Y
, dán với p
và P
, undo, redo, visual mode và register để dùng chung với sao chép và dán hiệu quả hơn. Chúc các bạn sử dụng VIM thành thạo hơn nhé.
Nguồn: viblo.asia