Lệnh indent trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh indent của Linux để định dạng mã nguồn C/C++. Lệnh indent là một công cụ mạnh mẽ có thể giúp bạn duy trì định dạng mã nhất quán bằng cách thụt lề mã theo một bộ quy tắc cụ thể. Bạn sẽ bắt đầu bằng cách hiểu mục đích và cú pháp của lệnh indent, sau đó học cách sử dụng nó để định dạng mã nguồn C/C++ của bạn. Cuối cùng, bạn sẽ khám phá cách tùy chỉnh các tùy chọn của lệnh indent để phù hợp với sở thích về kiểu mã hóa cụ thể của bạn.

Tìm hiểu Mục đích và Cú pháp của Lệnh indent

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh indent trong Linux. Lệnh indent là một công cụ được sử dụng để định dạng mã nguồn C/C++ bằng cách thụt lề nó theo một bộ quy tắc cụ thể.

Để bắt đầu, hãy khám phá cú pháp cơ bản của lệnh indent:

indent [options] input-file [output-file]

Đây là phần phân tích lệnh:

  • indent: Đây là tên lệnh.
  • [options]: Đây là các tùy chọn khác nhau bạn có thể sử dụng để tùy chỉnh định dạng của mã.
  • input-file: Đây là tệp chứa mã nguồn C/C++ bạn muốn định dạng.
  • [output-file]: Đây là tệp đầu ra tùy chọn nơi mã đã định dạng sẽ được ghi. Nếu không được chỉ định, tệp đầu vào sẽ bị ghi đè.

Một số tùy chọn phổ biến cho lệnh indent bao gồm:

  • -bad: Ngắt các lệnh gọi và khai báo hàm trên nhiều dòng.
  • -bap: Ngắt các tham số hàm trên nhiều dòng.
  • -bbo: Đặt dấu ngoặc nhọn trên các dòng "begin".
  • -nbc: Không ngắt các lệnh gọi hàm trên nhiều dòng.
  • -br: Đặt dấu ngoặc nhọn trên các dòng "begin".
  • -brs: Đặt dấu ngoặc nhọn trên các dòng "begin" với một khoảng trắng.
  • -ce: Đặt nhận xét ở bên phải mã.
  • -cli: Thụt lề nhận xét đến cột được chỉ định.

Ví dụ đầu ra:

$ indent --help
Usage: indent [options] input-file [output-file]
Options:
  -bad       Break after boolean and arithmetic operators
  -bap       Break after parameters in function declarations
  -bbo       Put braces on "begin" lines
  -nbc       Don't break function calls across lines
  -br        Put braces on "begin" lines
  -brs       Put braces on "begin" lines with a space
  -ce        Put comments to the right of code
  -cli       Indent comments to column N
  ...

Trong bước tiếp theo, bạn sẽ học cách sử dụng lệnh indent để định dạng mã nguồn C/C++.

Định dạng Mã nguồn C/C++ với Lệnh indent

Trong bước này, bạn sẽ học cách sử dụng lệnh indent để định dạng mã nguồn C/C++.

Đầu tiên, hãy tạo một tệp C mẫu để làm việc:

$ cd ~/project
$ nano sample.c

Thêm nội dung sau vào tệp sample.c:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Bây giờ, hãy sử dụng lệnh indent để định dạng mã nguồn:

$ indent sample.c

Thao tác này sẽ tạo một tệp mới có tên sample.c.indent với mã đã định dạng. Bạn cũng có thể chỉ định trực tiếp tệp đầu ra:

$ indent sample.c -o formatted_sample.c

Thao tác này sẽ tạo một tệp mới có tên formatted_sample.c với mã đã định dạng.

Ví dụ đầu ra:

$ cat formatted_sample.c
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Như bạn có thể thấy, lệnh indent đã tự động thụt lề mã và định dạng nó theo các cài đặt mặc định.

Bạn cũng có thể tùy chỉnh định dạng bằng cách sử dụng các tùy chọn khác nhau. Ví dụ: để sử dụng kiểu định dạng "Linux", bạn có thể chạy:

$ indent -linux sample.c -o formatted_sample.c

Thao tác này sẽ áp dụng kiểu mã hóa "Linux" cho mã đã định dạng.

Trong bước tiếp theo, bạn sẽ học cách tùy chỉnh thêm các tùy chọn của lệnh indent để phù hợp với kiểu mã hóa cụ thể của bạn.

Tùy chỉnh Tùy chọn Lệnh indent cho các Kiểu Mã hóa Cụ thể

Trong bước này, bạn sẽ học cách tùy chỉnh các tùy chọn của lệnh indent để định dạng mã nguồn C/C++ theo các kiểu mã hóa cụ thể.

Lệnh indent cung cấp một loạt các tùy chọn để tùy chỉnh định dạng. Hãy khám phá một số tùy chọn phổ biến và cách chúng có thể được sử dụng:

  1. Vị trí Dấu ngoặc nhọn:

    • -br (mặc định): Đặt dấu ngoặc nhọn trên các dòng "begin".
    • -brs: Đặt dấu ngoặc nhọn trên các dòng "begin" với một khoảng trắng.
    • -bl: Đặt dấu ngoặc nhọn trên các dòng "begin".
  2. Thụt lề:

    • -i<number>: Đặt mức thụt lề thành <number> dấu cách.
    • -ci<number>: Đặt mức thụt lề tiếp tục thành <number> dấu cách.
  3. Dòng trống:

    • -nbad: Không ngắt sau các toán tử boolean và số học.
    • -nbap: Không ngắt các tham số hàm.
    • -nbc: Không ngắt các lệnh gọi hàm.
  4. Định dạng Nhận xét:

    • -c<number>: Đặt thụt lề nhận xét thành <number> cột.
    • -cd<number>: Đặt độ dài tối đa của nhận xét thành <number> cột.

Hãy thử một ví dụ để định dạng tệp sample.c bằng kiểu mã hóa "GNU":

$ indent -gnu sample.c -o formatted_sample.c

Thao tác này sẽ định dạng mã nguồn bằng kiểu "GNU", tuân theo các tiêu chuẩn mã hóa GNU.

Ví dụ đầu ra:

#include <stdio.h>

int
main ()
{
  printf ("Hello, World!\n");
  return 0;
}

Như bạn có thể thấy, lệnh indent đã áp dụng kiểu mã hóa "GNU" cho mã đã định dạng, bao gồm cả vị trí dấu ngoặc nhọn và thụt lề.

Bạn có thể khám phá các tùy chọn có sẵn và thử nghiệm với các kiểu mã hóa khác nhau để tìm kiểu phù hợp nhất với yêu cầu của dự án của bạn.

Tóm tắt

Trong lab này, trước tiên bạn đã tìm hiểu về mục đích và cú pháp của lệnh indent trong Linux. Lệnh indent là một công cụ được sử dụng để định dạng mã nguồn C/C++ bằng cách thụt lề nó theo một bộ quy tắc cụ thể. Bạn đã khám phá cú pháp cơ bản của lệnh và một số tùy chọn phổ biến để tùy chỉnh định dạng. Sau đó, bạn đã học cách sử dụng lệnh indent để định dạng mã nguồn C/C++, bao gồm cách áp dụng các tùy chọn định dạng khác nhau và tùy chỉnh đầu ra. Cuối cùng, bạn đã khám phá cách sử dụng lệnh indent để thực thi các kiểu mã hóa cụ thể bằng cách tận dụng các tùy chọn cấu hình khác nhau của nó.

400+ câu lệnh phổ biến trong Linux