Emacs là trình soạn thảo văn bản đa chức năng. Đây là phần mềm tự do, chạy được trên nhiều hệ điều hành và có thể mở rộng để thêm vào chức năng mới. Emacs phổ biến trong giới lập trình máy tính và người dùng máy tính thông thạo kĩ thuật.
Chương trình EMACS, tên được tạo ra từ Editor MACroS, đầu tiên dùng cho trình soạn thảo TECO (Text Editor and Corrector) được Richard Stallman, Guy Steele và Dave Moon viết năm vào 1976. Nó dựa trên cặp chương trình soạn thảo TECO-macro là TECMAC và TMACS được viết bởi Guy Steele, Dave Moon, Richard Greenblatt, Charles Frankston và một số người khác. Qua thời gian đã xuất hiện nhiều phiên bản Emacs, nhưng ngày nay 2 phiên bản phổ biến nhất là GNU Emacs, do Richard Stallman bắt đầu viết vào 1984, và XEmacs, phân nhánh từ GNU Emacs năm 1991. Cả hai đều dùng ngôn ngữ Emacs Lisp có khả năng mở rộng mạnh mẽ, cho phép chúng xử lý nhiều tác vụ khác nhau, từ việc lập trình và biên dịch chương trình máy tính đến duyệt web.
Emacs có thể chạy trên nhiều hệ điều hành khác nhau như các hệ thống giống Unix (GNU/Linux, các loại BSD, Solaris, AIX, v.v.), MS-DOS, Microsoft Windows, OpenVMS và Mac OS X.
Emacs chạy trên giao diện văn bản lẫn đồ hoạ. Trên các hệ điều hành giống Unix, Emacs dùng hệ thống X Window để tạo giao diện đồ hoạ trực tiếp hoặc thông qua "widget toolkit" như Motif, LessTif hay GTK+. Emacs có thể dùng giao diện đồ hoạ nguyên thủy của Mac OS X và Microsoft Windows.
Một số người phân biệt chữ emacs viết thường, dùng để chỉ các trình biên tập giống Emacs (nhất là GNU Emacs và XEmacs), và Emacs viết hoa chữ đầu, dùng để chỉ GNU Emacs.
Emacs hiện là một phía của cuộc chiến trình biên tập, phía bên kia là vi.
Ngoài các menu, Emacs còn có rất nhiều phím tắt. Sau đây là danh sách các phím tắt cơ bản. Cũng như nhiều tài liệu hướng dẫn Emacs, C-x
nghĩa là CTRL-x và M-x
nghĩa là ALT-x.
Phím tắt | Chức năng |
---|---|
C-x C-c | Thoát khỏi Emacs |
C-x C-f | Tìm và mở file |
C-x C-s | Lưu file |
C-x C-w | Lưu file với tên khác |
C-s | Tìm kiếm |
C-x h | Đánh dấu chọn tất cả (Select all) |
C-@ | Đánh dấu vị trí đầu khối |
C-w | Cắt (Cut) vùng được đánh dấu |
M-w | Copy vùng được đánh dấu |
C-y | Dán (Paste); hoặc khôi phục lại phần vừa xóa (Undo) |
M-x lệnh | Thực hiện lệnh (lệnh được gõ vào cửa sổ nhỏ ở phía dưới) |
XEmacs[1] là một nhánh của Emacs nhưng tập trung vào giao diện và một mô hình phát triển phần mềm nguồn mở kiểu như Linux.