sc-im: Trình bảng tính mạnh mẽ phong cách Vim trên Terminal

06 tháng 4, 2026·4 phút đọc

sc-im là phiên bản nâng cấp của bảng tính dòng lệnh sc, tích hợp phím tắt Vim, hỗ trợ đa dạng định dạng file Excel/CSV và khả năng mở rộng qua ngôn ngữ lập trình Lua.

sc-im: Trình bảng tính mạnh mẽ phong cách Vim trên Terminal

sc-im: Trình bảng tính mạnh mẽ phong cách Vim trên Terminal

Đối với những lập trình viên hay quản trị viên hệ thống, làm việc trực tiếp trên dòng lệnh (terminal) thường mang lại tốc độ và hiệu quả cao hơn so với các giao diện đồ họa. Nếu bạn từng cảm thấy thiếu vắng một công cụ bảng tính tiện ích ngay trong terminal, sc-im (Spreadsheet Calculator Improvised) chính là câu trả lời hoàn hảo dành cho bạn.

Đây là một dự án mã nguồn mở dựa trên nền tảng ncurses, mang đến trải nghiệm giống như trình soạn thảo văn bản Vim nhưng dành cho các bảng tính. sc-im là phiên bản cải tiến nổi bật từ sc (một trình tính bảng bảng kinh điển do James Gosling và Mark Weiser tạo ra), bổ sung thêm nhiều tính năng hiện đại để đáp ứng nhu cầu xử lý dữ liệu phức tạp.

Giao diện chính của sc-imGiao diện chính của sc-im

Các tính năng nổi bật của sc-im

Điểm hấp dẫn nhất của sc-im chính là sự kết hợp giữa sức mạnh của bảng tính và sự quen thuộc của các phím tắt Vim. Người dùng có thể di chuyển, chỉnh sửa và thao tác dữ liệu một cách cực kỳ nhanh chóng mà không cần rời tay khỏi bàn phím.

Dưới đây là những tính năng chính làm nên sức mạnh của công cụ này:

  • Giao diện Vim-like: Hỗ trợ đầy đủ các lệnh di chuyển của Vim (h, j, k, l) để duy trì thói quen làm việc của lập trình viên.
  • Khả năng nhập/xuất linh hoạt: Hỗ trợ đọc và ghi các định dạng phổ biến như CSV, TAB delimited, XLSX và Markdown. Bên cạnh đó, nó cũng có khả năng nhập file ODS.
  • Quy mô lớn: Mặc định hỗ trợ 65.536 dòng và 702 cột, nhưng con số này có thể mở rộng lên tới hơn 1 triệu dòng nếu cần thiết.
  • Tùy biến hiển thị: Cho phép tô màu ô, định dạng in đậm, in nghiêng hoặc gạch chân, thậm chí tùy chỉnh màu sắc trực tiếp thông qua mã RGB ngay khi đang chạy.
  • Lập trình và mở rộng: Tích hợp hỗ trợ ngôn ngữ Lua để viết script, các trigger và module động. Bạn cũng có thể gọi các hàm từ ngôn ngữ lập trình khác để sử dụng trong sc-im.
  • Trực quan hóa dữ liệu: Tương tác trực tiếp với GNUPlot để vẽ biểu đồ dữ liệu ngay trong terminal.
  • Hỗ trợ đa ngôn ngữ: Tương thích tốt với nhiều ký tự rộng, bao gồm các ngôn ngữ như tiếng Nhật, Trung Quốc, tiếng Nga và các ngôn ngữ Châu Âu.

Vẽ biểu đồ với GNUPlot trong sc-imVẽ biểu đồ với GNUPlot trong sc-im

Hướng dẫn sử dụng nhanh

Việc bắt đầu với sc-im khá trực quan nếu bạn đã quen thuộc với Vim. Dưới đây là một số phím tắt cơ bản:

  • Di chuyển: j (xuống), k (lên), h (trái), l (phải).
  • Nhập liệu: = để nhập số, \ để nhập văn bản.
  • Chỉnh sửa: e để sửa số, E để sửa chuỗi, x để xóa nội dung ô.
  • Thao tác ô: yy để sao chép, p để dán, v để chọn vùng (range).
  • Hàng/Cột: ir (chèn hàng), dr (xóa hàng), ic (chèn cột), dc (xóa cột).
  • Lưu/Thoát: :w tên_file để lưu, :q để thoát.
  • Khác: u để hoàn tác (undo), C-r để làm lại (redo), goab12 để nhảy đến ô AB12.

Cài đặt và Cấu hình

sc-im yêu cầu một vài thư viện phụ thuộc như ncurses, bison, gcc và make. Để cài đặt, bạn thường chỉ cần biên dịch mã nguồn:

make -C src
sudo make -C src install

Người dùng macOS có thể cài đặt dễ dàng thông qua Homebrew với lệnh brew install sc-im. Đối với những ai cần hỗ trợ nhập xuất file XLSX đầy đủ trên Ubuntu, cần cài đặt thêm các thư viện như libxlsxreader.

Tệp cấu hình của sc-im nằm tại ~/.config/sc-im/scimrc. Tại đây, bạn có thể tinh chỉnh các biến như autocalc (tự động tính toán), numeric_decimal, hay xlsx_readformulas để phù hợp với quy trình làm việc của mình.

Giao diện cấu hình và hiển thị chi tiếtGiao diện cấu hình và hiển thị chi tiết

Một dự án cần sự hỗ trợ từ cộng đồng

Hiện tại, sc-im là dự án của một cá nhân duy nhất. Tác giả đang kêu gọi sự hỗ trợ từ cộng đồng người dùng để duy trì và phát triển thêm các tính năng mới. Nếu bạn tìm thấy một công cụ hữu ích cho công việc hàng ngày của mình, hãy cân nhắc ủng hộ dự án hoặc đóng góp mã nguồn trên GitHub.

Sc-im minh chứng rằng đôi khi những công cụ dòng lệnh truyền thống vẫn còn rất nhiều tiềm năng chưa được khai thác, mang lại hiệu suất cao mà giao diện đồ họa khó lòng so bì được.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗