zero2hero #3: Sử dụng vim để chỉnh sửa nội dung file

11/03/2020

Trong các phần trước chúng ta đã hoàn thành:

Phần 1: Chuẩn bị môi trường

Phần 2: Kết nối SSH để quản trị server

Trước khi bắt tay vào dựng website, chúng ta cần học cách sửa nội dung một file trên server bằng command line. Công việc chính của một Sysadmin Linux là điều chỉnh các file cấu hình, do đó đây là kỹ năng bắt buộc phải thành thạo. Trong phạm vi mới tìm hiểu, mình sẽ hướng dẫn các bạn những thao tác đơn giản và cần thiết nhất.

1. Chuẩn bị

– Cài đặt vim

$ yum install vim

– Download file dùng để test

$ curl https://quantrilinux.vn/zero2hero/test_vim.txt > test_vim.txt

– Lệnh trên sẽ tải và ghi nội dung vào file test_vim.txt. Kiểm tra lại và đảm bảo file có đúng nội dung:

$ cat test_vim.txt

2. Các mode làm việc của vim

Vim có 4 mode chính, nhưng để đơn giản mình sẽ giới thiệu với các bạn 3 mode:

a, Normal Mode: 

  • Đây là mode mặc định khi ta mở file. 
  • Ở mode này ta không thể nhập dữ liệu, các phím khi ta bấm ở mode này sẽ có tác dụng như phím tắt để thực thi một thao tác nào đó.
  • Khi ở các mode khác, nếu muốn trở về Normal Mode thì bấm nút “ESC“. 
  • Dấu hiệu nhận biết đang ở Normal Mode là phía dưới góc bên trái của terminal sẽ không hiện gì hoặc hiện ta tên file ta vừa mở. 

b, Insert mode: 

  • Khi đang ở Normal Mode, bấm phím “i” sẽ chuyển sang Insert Mode. 
  • Đây là mode dùng để soạn thảo dữ liệu. 
  • Các phím khi bấm trong mode này sẽ hoạt động như nhập dữ liệu bình thường.
  • Dấu hiệu nhận biết: sẽ có chữ INSERT ở góc trái bên dưới màn hình.
  • Bấm “ESC” sẽ trở về Normal Mode và mất chữ INSERT.

c, Command mode:

  • Khi đang ở Normal Mode, bấm : sẽ chuyển sang Command Mode.
  • Ở mode này cho phép ta thực hiện nhiều lệnh đặc biệt của vim.
  • Dấu hiệu nhận biết: góc dưới bên trái sẽ xuất hiện dấu “:” ở đầu.
  • Bấm “ESC” sẽ trở về Normal Mode.

3. Các thao tác cơ bản

3.1. Di chuyển con trỏ

– Sử dụng các phím mũi tên như bình thường.

– Sử dụng nút “Page Up” và “Page Down” để di chuyển lên/xuống từng trang.
3.2. Chỉnh nội dung file

– Sau khi mở file bấm i để vào Insert Mode.

– Sử dụng các phím mũi tên để di chuyển, các phím khác thao tác như chỉnh sửa văn bản bình thường.

– Sau khi chỉnh sửa xong bấm “ESC” để trở về Normal Mode.

– Thực hành: 

  • Mở file test_vim.txt và xóa dòng “Chúng tôi là ai?”
  • Thêm vào dòng “zero2hero”
  • Trở về Normal Mode

3.3. Thoát khỏi vim

– Thoát và lưu các chỉnh sửa đã thực hiện (save lại):

  • Chuyển về Normal Mode
  • Gõ “:x” sau đó Enter

– Thóat và KHÔNG lưu các chỉnh sửa đã thực hiện:

  • Chuyển về Normal Mode
  • Gõ “:q! sau đó Enter

3.4. Các thao tác thường dùng khác: được thực hiện ở Normal Mode

/string : tìm kiếm chuỗi “string” trong file. Bấm n để nhảy đến kết quả tìm kiếm tiếp theo, “Shift + n” để lùi lại kết quả trước đó.

:19 : Nhảy đến dòng số 19

dd : xóa 1 dòng tại vị trí con trỏ hiện tại

u : Undo – lùi lại thao tác chỉnh sửa trước đó

gg : Đưa con trỏ về đầu file

Shift + G : đưa con trỏ về cuối file

3.5. Thực hành:

  • Mở file test_vim.txt
  • Tìm tất cả chuỗi “admin” trong file
  • Nhảy đến dòng số 19
  • Xóa dòng số 19
  • Phục hồi lại dòng đã xóa
  • Đưa con trỏ về đầu file
  • Đưa con trỏ về cuối file
  • Thoát ra và lưu lại chỉnh sửa

Đừng chỉ đọc, hãy thực hành ngay. Nhiêu đây là đủ để xài cho các bài tiếp theo, chưa cần học thêm vội, thuần thục mớ này rồi học tiếp cũng không muộn!

Hãy tham gia vào Group Chat Telegram của nhóm để thảo luận và học hỏi từ các thành viên khác: https://t.me/quantrilinux