fbpx Trình soạn thảo vim trong linux | Công ty thiết kế web Skip to main content
Trình soạn thảo

Trình soạn thảo vim trong linux

 

Giới thiệu

Vim là một trình soạn thảo văn bản trong Unix mã nguồn mở được sử dụng rộng rãi. Học cách sử dụng các lệnh Vim là vấn đề của thực hành cho chúng ta kinh nghiệm. Đó là lý do tại sao việc có một kiến thức bơ bản giúp chúng ta sử lý và làm việc soạn thảo một cách dễ dàng.

Terminal Linux là gì ?

Terminal được xem là công cụ mà dường như ai dùng Linux đều phải sử dụng qua. Vậy Terminal là gì, nó có hay không. Trong bài viết này mình sẽ cùng tìm hiểu về Terminal cũng như các lệnh thông dụng làm việc với file và thư mục trên Terminal của các bản phân phối Linux như Ubuntu.

Tương tự như Command Prompt trên Windows, Terminal là chương trình thông dịch dòng lệnh chạy trên các hệ điều hành nhân Linux. Terminal có nhiệm vụ thực thi các lệnh mà người dùng nhập vào.

Trên các hệ điều hành nhân Linux, đa số các công việc đều được thực hiện trên Terminal, do đó nó là một công cụ mạnh mẽ mà nhiều người yêu thích.

Làm thế nào để s dng Terminal ?

Trên các bản phân phối Linux nói chung, Ubuntu nói riêng, thông thường Terminal được ghim ở thanh Dock (Toolbar) hoặc bạn có thể tìm kiếm trong Dash với từ khóa Terminal.

Cấu trúc thư mục và đường dẫn trên Linux

Khi sử dụng Linux đặc biệt là khi làm việc với thư mục bạn cần phải biết về cấu trúc cây thư mục cũng như đường dẫn của chúng.

Khác với Windows, bộ nhớ trên Linux không phân chia thành các ổ đĩa (C,D,E,..) mà chỉ bắt đầu bằng một thư mục gốc có tên “/” (thư mục root). Cấu trúc cây thư mục trên Linux chuẩn thường có dạng như hình sau:

Chi tiết hơn về ý nghĩa các thư mục trong Linux bạn có thể tham khảo ở đây.

Các bản phân phối Linux khác nhau thì các thư mục sẽ có đôi chút khác nhau, nhưng hầu hết đều tương tự như như trên.

Một khác biệt khác trong cấu trúc thư mục của Windows với Linux là đường dẫn. Trên Windows, ví dụ bạn có đường dẫn thự mục dạng:

D:\Thư mục\thư mục con\file

Trên Linux sẽ dùng ký hiệu “/” thay vì “\”, ví dụ đường dẫn bên trên trong Linux có dạng:

/Thư mục/thư mục con/file

Tên các tệp, thư mục cũng như các tham số, cú pháp lệnh Terminal cũng phân biệt chữ hoa chữa thường. Ví dụ trên Windows tệp test.txt và Test.txt là một thì trên Linux (Ubuntu) chúng là hai tệp hoàn toàn khác nhau.

Trong bài viết này, Gocinfo.com thực hiện các lệnh Terminal để thao tác với tệp và thư mục trên Ubuntu, các bản phân phối Linux khác cũng sẽ tương tự. Nếu có những lệnh nào chỉ có ở Ubuntu mình sẽ ghi chú lại

Các lệnh Terminal thông dụng làm việc với file và thư mục Ubuntu

Di chuyển bên trong một tập tin

Bạn có thể di chuyển con trỏ trong một tệp bằng các ký tự, từ, mã thông báo hoặc dòng đơn lẻ.

Theo Vim, một từ có thể là một nhóm các chữ cái, số và dấu gạch dưới. Mặt khác, mã thông báo là bất kỳ thứ gì được phân tách bằng khoảng trắng và có thể bao gồm dấu chấm câu.

Ngoài ra, bạn có thể di chuyển đến các phần khác nhau của văn bản bằng cách xem màn hình.

Di chuyển theo ký tự, từ và mã thông báo

Các phím cơ bản để di chuyển con trỏ theo một ký tự là:

  • h – di chuyển con trỏ sang trái
  • j – di chuyển con trỏ xuống
  • k – di chuyển con trỏ lên
  • l – di chuyển con trỏ sang phải

Bạn cũng có thể sử dụng các phím này với một số làm tiền tố để di chuyển nhiều lần theo một hướng xác định. Ví dụ bạn chạy 5j con trỏ di chuyển xuống 5 dòng.

  • b – di chuyển đến đầu một từ
  • B – di chuyển đến đầu mã thông báo
  • w – di chuyển đến đầu từ tiếp theo
  • W – di chuyển đến điểm bắt đầu của mã thông báo tiếp theo
  • e – di chuyển đến cuối một từ
  • E – di chuyển đến cuối mã thông báo

Chẳng hạn, bạn có cụm danh từ “từng bước một” trong văn bản và con trỏ được đặt ở cuối văn bản. Lần đầu tiên bạn nhấn b, con trỏ sẽ di chuyển trở lại “từng bước”. Tuy nhiên, nếu bạn sử dụng B, con trỏ sẽ di chuyển hoàn toàn về: “từng bước một” vì không có khoảng trắng giữa các ký tự này.

Di chuyển theo dòng

  • 0 (không) – nhảy đến đầu dòng
  • $ – nhảy đến cuối dòng
  • ^ – chuyển đến ký tự đầu tiên (không trống) của dòng
  • #G / #gg / :# – di chuyển đến số dòng đã chỉ định (thay # bằng số dòng)

Để minh họa sự khác biệt giữa 0 và ^, hãy xem ví dụ sau. Trong dấu đầu dòng đầu tiên, lệnh di chuyển con trỏ đến khoảng trống trước dấu đầu dòng. Mặt khác, trong dấu đầu dòng thứ ba, phím ^ di chuyển con trỏ đến dấu gạch nối (ký tự đầu tiên trong dòng).

Để minh họa sự khác biệt giữa 0 và ^, hãy xem ví dụ sau. Trong dấu đầu dòng đầu tiên, lệnh di chuyển con trỏ đến khoảng trống trước dấu đầu dòng. Mặt khác, trong dấu đầu dòng thứ ba, phím ^ di chuyển con trỏ đến dấu gạch nối (ký tự đầu tiên trong dòng).

Di chuyển bằng màn hình

Các lệnh sau đây được sử dụng như một cách nhanh chóng để di chuyển trong văn bản mà không cần cuộn.

Ctrl + b – quay lại toàn màn hình

Ctrl + f – tiến lên toàn màn hình

Ctrl + d – tiến 1/2 màn hình

Ctrl + u – lùi 1/2 màn hình

Ctrl + e – di chuyển màn hình xuống một dòng (không di chuyển con trỏ)

Ctrl + y – di chuyển màn hình lên một dòng (không di chuyển con trỏ)

Ctrl + o – di chuyển lùi qua lịch sử nhảy

Ctrl + i – di chuyển về phía trước qua lịch sử nhảy

H – di chuyển lên trên cùng của màn hình (H=cao)

M – di chuyển đến giữa màn hình (M=giữa)

L – di chuyển xuống cuối màn hình (L=low)

Chèn văn bản

  • i – chuyển sang chế độ chèn trước con trỏ
  • I – chèn văn bản vào đầu dòng
  • a – chuyển sang chế độ chèn sau con trỏ
  • A – chèn văn bản vào cuối dòng
  • – mở một dòng mới bên dưới dòng hiện tại
  • ea – chèn văn bản vào cuối từ
  • Esc – thoát khỏi chế độ chèn; chuyển sang chế độ lệnh

Một số lệnh này chuyển đổi giữa chế độ lệnh và chế độ chèn. Theo mặc định, Vim khởi chạy ở chế độ lệnh, cho phép bạn di chuyển và chỉnh sửa tệp. Để chuyển sang chế độ lệnh, hãy sử dụng phím Esc.

Mặt khác, chế độ chèn cho phép bạn nhập và thêm văn bản vào tệp. Để chuyển sang chế độ chèn, nhấn i.

Chỉnh sửa văn bản

  • r – thay thế một ký tự (và quay lại chế độ lệnh)
  • cc – thay thế toàn bộ dòng (xóa dòng và chuyển sang chế độ chèn)
  • C / c$ – thay thế từ con trỏ đến cuối dòng
  • cw – thay thế từ con trỏ đến cuối từ
  • s – xóa một ký tự (và chuyển sang chế độ chèn)
  • J – hợp nhất dòng bên dưới với dòng hiện tại với khoảng trắng ở giữa chúng
  • gJ – hợp nhất dòng bên dưới với dòng hiện tại không có khoảng cách giữa chúng
  • bạn - hoàn tác
  • Ctrl + r – làm lại
  • .- lặp lại lệnh cuối cùng

Cắt, Sao chép và Dán

  • yy – sao chép (yank) toàn bộ dòng
  • #yy – sao chép số lượng dòng được chỉ định
  • dd – cắt (xóa) toàn bộ dòng
  • #dd – cắt số dòng đã chỉ định
  • p – dán sau con trỏ
  • P – dán trước con trỏ

Đánh dấu văn bản (Chế độ trực quan)

Ngoài chế độ lệnh và chế độ chèn, Vim còn bao gồm chế độ trực quan. Chế độ này chủ yếu được sử dụng để đánh dấu văn bản.

Dựa trên đoạn văn bản bạn muốn chọn, bạn có thể chọn giữa ba phiên bản của chế độ trực quan: chế độ ký tự, chế độ dòng và chế độ khối.

  • v – chọn văn bản bằng chế độ ký tự
  • V – chọn dòng bằng chế độ dòng
  • Ctrl+v – chọn văn bản bằng chế độ khối

Khi bạn đã bật một trong các chế độ, hãy sử dụng các phím điều hướng để chọn văn bản mong muốn.

 

Các phiên bản của chế độ trực quan trong Vim.

  • – di chuyển từ đầu này sang đầu kia của văn bản đã chọn
  • aw - chọn một từ
  • ab – chọn một khối với ()
  • aB – chọn một khối với {}
  • at – chọn một khối có <>
  • ib – chọn khối bên trong với ()
  • iB – chọn khối bên trong với {}
  • nó - chọn khối bên trong với <>

Lệnh trực quan

Khi bạn đã chọn văn bản mong muốn ở chế độ trực quan, bạn có thể sử dụng một trong các lệnh trực quan để thao tác với nó. Một số trong số họ bao gồm:

  • y – giật (sao chép) văn bản được đánh dấu
  • d – xóa (cắt) văn bản đã đánh dấu
  • p – dán văn bản sau con trỏ
  • u – thay đổi văn bản thị trường thành chữ thường
  • U – thay đổi văn bản thị trường thành chữ hoa
  • Tìm kiếm trong tệp
  • – nhảy tới phiên bản tiếp theo của từ hiện tại
  • # – chuyển đến phiên bản trước của từ hiện tại
  • /pattern - tìm kiếm về phía trước cho mẫu được chỉ định
  • ?pattern – tìm kiếm ngược cho mẫu đã chỉ định
  • n – lặp lại tìm kiếm theo cùng một hướng
  • N – lặp lại tìm kiếm theo hướng ngược lại

Lưu và thoát tệp

  • :w – lưu tập tin
  • :wq / :x / ZZ – lưu và đóng tệp
  • :q – thoát
  • :q!/ ZQ – thoát mà không lưu thay đổi
  • :w new_file_name – lưu tệp dưới tên mới và tiếp tục chỉnh sửa tệp gốc
  • :sav – lưu tệp dưới tên mới và tiếp tục chỉnh sửa bản sao mới
  • :w !sudo tee % – viết ra tệp bằng lệnh sudo và tee

About

Công ty thiết kế web app chuyên thiết kế web và các dịch vụ maketing digital, seo, google adword...