:Bài này nói về trình soạn thảo văn bản. Về kiểu máy tính của Apple Macintosh, xem eMac.
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.
Tính năng
- Soạn thảo trên nhiều cửa sổ (window) và bộ đệm (buffer)
- Tìm kiếm, thay thế, tự sửa lỗi
- Soạn thảo đệ quy (recursive edit): cho phép soạn thảo khi một câu lệnh đang thực hiện giữa chừng
- Nhiều chế độ soạn thảo: văn bản thường, các file chương trình (tô màu cú pháp và thực hiện từng đoạn mã lệnh), ngôn ngữ đánh dấu (HTML), LaTeX, vẽ hình bằng các ký tự
- Các macro bàn phím
- Sửa đổi theo ý thích cá nhân bằng cách chỉnh sửa các biến của chương trình
- Lập trình bằng ngôn ngữ Emacs Lisp
- Nhiều chương trình phụ trợ (danh sách thư mục, đọc và soạn e-mail, trò chơi,...)
Phím tắt
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.
XEmacs
**XEmacs** 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.
👁️
3 | 🔗 | 💖 | ✨ | 🌍 | ⌚
:_Bài này nói về trình soạn thảo văn bản. Về kiểu máy tính của Apple Macintosh, xem eMac._ **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
phải|TEXMACS chạy trên [[KDE của Slackware.]] phải|TEXMACS với vai trò là giao diện của [[Yacas và sử dụng Gnuplot để vẽ đồ thị.]] **GNU TEXMACS** (hay **TeXmacs**) là một phần mềm miễn phí có mã
Cygwin chạy trên Windows; trên đó ta thấy hai cửa sổ chạy [[mintty của Cygwin.]] **Cygwin** là môi trường *nix trong Windows bằng cách tạo một lớp tương thích. Thông qua đó người dùng Windows
nhỏ|400x400px|Giấy phép phần mềm trong bối cảnh bản quyền theo Mark Webbink. Từ trái sang phải ít quyền cho người được cấp phép/user của một phần mềm và nhiều hơn nữa quyền giữ lại bởi
**Ngôn ngữ kịch bản** () là ngôn ngữ lập trình cho môi trường thời gian chạy đặc biệt tự động hóa thực thi các tác vụ; các tác vụ thay thế có thể
**Donald Ervin Knuth** (sinh ngày 10 tháng 1, năm 1938) là một nhà khoa học máy tính nổi tiếng hiện đang là giáo sư danh dự tại Đại học Stanford. Knuth được biết đến nhiều
**James Arthur Gosling** (sinh ngày 19 tháng 5 năm 1955 gần Calgary, Alberta, Canada) là một nhà phát triển phần mềm nổi tiếng. Ông là cha đẻ của ngôn ngữ lập trình Java. ## Nghề
**vi** (đọc là "vi ai" theo cách đánh vần tiếng Anh) là chương trình soạn thảo văn bản trên máy tính được viết bởi Bill Joy năm 1976 để dùng cho hệ điều hành BSD.
Dưới đây là danh sách các môi trường phát triển tích hợp ## Các môi trường phát triển tích hợp nguồn mở/miễn phí ### Các môi trường phát triển tích hợp đa nền miễn phí
NetBeans IDE 5.0, một môi trường phát triển hợp nhất nguồn mở. **Môi trường phát triển tích hợp** (tiếng Anh: _integrated development environment_; viết tắt: _IDE_) còn được gọi là "_Môi trường thiết kế hợp
**Lịch sử của Linux** bắt đầu vào năm 1991 với sự bắt đầu của một dự án cá nhân của sinh viên Phần Lan Linus Torvalds để tạo ra một hạt nhân hệ điều hành
nhỏ|phải|Logo GPLv3 Biểu trưng "Heckert" của GNU **Giấy phép Công cộng GNU** (tiếng Anh: _GNU General Public License_, viết tắt **GNU GPL** hay chỉ **GPL**) là giấy phép phần mềm tự do được sử dụng
nhỏ|phải|"Chữ _c_ đảo ngược trong vòng tròn" là biểu tượng copyleft. Nó là hình ảnh phản chiếu của [[biểu tượng bản quyền. Không giống như biểu tượng bản quyền, biểu tượng này không có ý
Đây là danh sách **Phần mềm mã nguồn mở**: là phần mềm máy tính được cấp phép giấy phép mã nguồn mở. Bài viết này không có tham vọng liệt kê tất cả những phần
thumb|alt=Màn hình máy tính của hệ điều hành, màn hình hiển thị các ứng dụng phần mềm tự do khác nhau.|Ví dụ về một hệ điều hành phần mềm tự do hiện đại chạy một
**Richard Matthew Stallman** (thường được viết tắt là RMS) (sinh 16 tháng 3 năm 1953), là một nhà hoạt động vì phần mềm tự do, một hacker (hiểu theo nghĩa tốt của từ này -
**Văn bản thuần túy** (Tiếng Anh: Plain text, trái với Formatted text, styled text hay rich text) là dạng trình bày văn bản trên máy tính mà không sử dụng các định dạng văn bản
**LaTeX** ( hoặc ), cách điệu trong hệ thống là là một hệ thống phần mềm để soạn thảo tài liệu. Khi viết, người viết sử dụng văn bản thuần túy, thay vì văn bản
**Subversion** là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm. Subversion cũng còn được gọi là
phải|OpenOffice Writer chạy trên nền [[Ubuntu]] **Chương trình soạn thảo văn bản** là một loại phần mềm được thiết kế để soạn thảo các văn bản điện tử với một số chức năng chính như
nhỏ|phải|Biểu tượng hình con thằn lằn đôi khi được các [[lập trình viên dùng trong các chương trình viết bằng ngôn ngữ Lisp.]] **Lisp** là ngôn ngữ lập trình được phát triển từ rất sớm
nhỏ|Một bộ mẫu của Tháp Hà Nội **Tháp Hà Nội** là một trò chơi toán học. Tên gọi của trò chơi này gắn liền với yếu tố Việt Nam. ## Luật chơi phải|Bìa hộp đựng
Mục đích của **danh sách các ngôn ngữ lập trình** này là bao gồm tất cả các ngôn ngữ lập trình hiện tại đáng chú ý, được sử dụng hiện tại và những ngôn ngữ
Windows 10 mang đến một lượng lớn thành phần mới, bao gồm cả các tùy chọn cho giao diện tối ưu cho thao tác chạm (gọi là tablet mode) hoặc giao diện cho máy tính
**AutoHotkey** là một ngôn ngữ kịch bản tùy biến miễn phí, nguồn mở cho Microsoft Windows, bàn đầu nhằm cung cấp các phím tắt hay phím nóng dễ dàng, tạo macro nhanh và tự động
**ed** là một trình soạn thảo dòng cho hệ điều hành Unix và giống Unix. Nó là một trong những phần đầu tiên của hệ điều hành Unix được phát triển vào tháng 8 năm
Đây là danh sách các ngôn ngữ lập trình đáng chú ý, được nhóm theo loại. Vì không có sơ đồ phân loại bao quát cho các ngôn ngữ lập trình, nên trong nhiều trường
nhỏ|235x235px| Logo GNU nhỏ|235x235px| Richard M. Stallman (ảnh bìa cho cuốn sách của [[O'Reilly Media _Free as in Freedom_) ]] **_Tuyên ngôn GNU_** được Richard Stallman viết và xuất bản vào tháng 3 năm 1985
thumb|upright|Biểu đồ dòng thời gian cho thấy sự phát triển của các [[bản phân phối Linux, với mỗi nhánh rẽ trong sơ đồ được gọi là "một fork".]] Trong phát triển phần mềm, **fork** ()
Trong điện toán, **lập trình hướng khía cạnh** (tiếng Anh: _aspect-oriented programming_, viết tắt: _AOP_) là một mẫu hình lập trình nhằm tăng tính mô đun bằng cách cho phép phân tách những mối quan
**MINIX** (từ "mini-Unix") là một hệ điều hành máy tính tương tự Unix dựa trên kiến trúc microkernel và tuân theo chuẩn POSIX (từ phiên bản 2.0), Phiên bản đầu của MINIX được tạo ra
Trong điện toán, **gettext** là một hệ thống quốc tế hóa và bản địa hóa (i18n) thường dùng cho việc viết các ứng dụng đa ngôn ngữ trên các hệ điều hành tương tự Unix.
nhỏ|Ví dụ về một Hệ quản lý tập tin. **Hệ thống quản lý tệp** hoặc **trình duyệt tệp** là chương trình máy tính cung cấp giao diện người dùng để quản lý tệp và thư
**Kotlin** là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM) và có thể được biên dịch sang mã nguồn Java hay sử dụng cơ sở hạ tầng trình biên dịch
**TypeScript** là một ngôn ngữ lập trình được phát triển và duy trì bởi Microsoft. Nó là một siêu tập hợp cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn
**Phòng thí nghiệm khoa học máy tính và trí tuệ nhân tạo MIT (CSAIL) **là một phòng thí nghiệm nghiên cứu tại viện công nghệ Massachusetts thành lập bởi sự sáp nhập vào năm 2003
thumb|right|[[Magnus's green salt|Muối xanh lục Magnus là một ví dụ về một hợp chất chuỗi tuyến tính.]] Trong hoá học và khoa học vật liệu, **hợp chất chuỗi tuyến tính** là các vật chất được