欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
GNU Emacs
小 (→C#) |
|||
(未显示3个用户的92个中间版本) | |||
第1行: | 第1行: | ||
− | [[Image:Emacs.png]] | + | {{SeeWikipedia}} |
+ | |||
+ | GNU Emacs | ||
+ | |||
+ | ==简介== | ||
+ | Emacs是一种信仰,也是种生活方式! | ||
+ | |||
+ | Emacs 是对技术极限不懈追求的信仰! | ||
+ | |||
+ | Emacs 是一个不折不扣的操作系统,一个终极工具! | ||
+ | |||
+ | 学完Elisp不是探索的终点, 而是乐趣的开始! | ||
+ | |||
+ | [[Image:Emacs.png|right]] | ||
+ | |||
+ | [https://www.gnu.org/gnu/rms-lisp.html 我的 Lisp 经历和 GNU Emacs 的开发] | ||
+ | |||
+ | ==功能== | ||
+ | |||
+ | ==指南== | ||
+ | ===OS X=== | ||
+ | |||
+ | [http://emacsformacosx.com/ GNU Emacs For Mac OS X] | ||
+ | |||
+ | ===Linux=== | ||
+ | Debian 7 安装 Emacs 25 | ||
+ | [[文件:emacs-25.jpg|right|thumb|Emacs 25]] | ||
+ | apt-get install autoconf automake libtool texinfo build-essential xorg-dev libgtk2.0-dev libjpeg-dev | ||
+ | libncurses5-dev libgif-dev libtiff-dev libm17n-dev libpng12-dev librsvg2-dev libotf-dev | ||
+ | git clone --depth 1 git://git.sv.gnu.org/emacs.git | ||
+ | cd emacs/ | ||
+ | ./autogen.sh | ||
+ | ./configure | ||
+ | make bootstrap | ||
+ | sudo make install | ||
− | |||
对Debian用户 | 对Debian用户 | ||
− | apt-get install emacs21 | + | #apt-get install emacs21 |
+ | #apt-get install debian-el // Emacs helpers specific to Debian users. | ||
+ | #apt-get isntall emacs-goodies-el // Miscellaneous add-ons for Emacs | ||
+ | EmacsForDebian - http://www.emacswiki.org/cgi-bin/wiki/EmacsForDebian | ||
Emacs中文环境设置(Debian Linux) | Emacs中文环境设置(Debian Linux) | ||
第12行: | 第48行: | ||
2. 安装字体 | 2. 安装字体 | ||
apt-get install emacs-intl-fonts | apt-get install emacs-intl-fonts | ||
− | apt-get install xfonts-intl-chinese | + | apt-get install xfonts-intl-chinese |
这时emacs已经支持UTF8 | 这时emacs已经支持UTF8 | ||
3. 取消自动创建备份文件功能 | 3. 取消自动创建备份文件功能 | ||
− | Windows | + | ===Windows=== |
+ | [http://www.emacswiki.org/cgi-bin/emacs-en?CategoryPorts Windows 用户] | ||
+ | |||
==.emacs== | ==.emacs== | ||
(setq line-number-mode t) // To enable line-number-mode by default in Emacs | (setq line-number-mode t) // To enable line-number-mode by default in Emacs | ||
Debian | Debian | ||
− | http://www.debian.org/doc/packaging-manuals/debian-emacs-policy | + | http://www.debian.org/doc/packaging-manuals/debian-emacs-policy |
+ | |||
+ | ==常用功能== | ||
+ | *C-x C-f:打开文件 | ||
+ | *M-x ielm : REPL | ||
+ | |||
+ | (setq url-proxy-services | ||
+ | '(("no_proxy" . "^\\(localhost\\|10.*\\)") | ||
+ | ("http" . "127.0.0.1:32783") | ||
+ | ("https" . "127.0.0.1:32783"))) | ||
+ | |||
+ | ==GTK+== | ||
+ | apt-get install emacs22-gtk // GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11) | ||
+ | ./emacs22-gtk & | ||
+ | |||
+ | ==Markdown== | ||
+ | 在 Emacs 中使用 [[Markdown]]。 | ||
+ | |||
==编程语言== | ==编程语言== | ||
Programming Modes - http://www.emacswiki.org/cgi-bin/emacs-en/ProgrammingModes | Programming Modes - http://www.emacswiki.org/cgi-bin/emacs-en/ProgrammingModes | ||
− | ===Lisp=== | + | |
+ | [[Emacs Code Browser]](ECB) : Code browser for several languages for Emacs. | ||
+ | #apt-get intall ecb | ||
+ | |||
+ | ===[[Lisp]]=== | ||
*[[Emacs Lisp]] | *[[Emacs Lisp]] | ||
+ | |||
+ | ===[[Coq]]=== | ||
+ | *[https://proofgeneral.github.io/ Proof General] A generic Emacs interface for proof assistants | ||
+ | |||
+ | ===Clojure=== | ||
+ | *[https://github.com/clojure-emacs/cider CIDER] | ||
+ | |||
+ | ===Racket=== | ||
+ | [[Racket]] [https://github.com/greghendershott/racket-mode mode for GNU Emacs] | ||
+ | |||
+ | ===Erlang=== | ||
+ | *[http://docs.huihoo.com/erlang/17.3/lib/tools-2.7/doc/html/erlang.el.html erlang.el]:Erlang mode for Emacs | ||
+ | *[https://github.com/tjarvstrand/edts Erlang Development Tool Suite] | ||
+ | |||
+ | ===[[OCaml]]=== | ||
+ | *[https://github.com/janestreet/ecaml Writing Emacs plugin in OCaml] | ||
+ | |||
+ | ===[[Rust]]=== | ||
+ | *[https://github.com/remacs/remacs Rust love Emacs] | ||
+ | *[https://github.com/rust-lang/rust-mode rust-mode] | ||
+ | |||
===C/C++=== | ===C/C++=== | ||
*[[CC Mode]] - C, C++ (CPP), Objective C, Java, etc. | *[[CC Mode]] - C, C++ (CPP), Objective C, Java, etc. | ||
C-h P | C-h P | ||
− | + | ||
+ | ===C#=== | ||
+ | *[https://www.emacswiki.org/emacs/CSharpMode C# Mode] | ||
+ | *[[OmniSharp]] [https://github.com/OmniSharp/omnisharp-emacs omnisharp-emacs] | ||
+ | |||
+ | ===Lua=== | ||
+ | [https://github.com/immerrr/lua-mode lua-mode] | ||
+ | |||
+ | ===[[Swift]]=== | ||
+ | [https://github.com/swift-emacs/swift-mode swift-mode] | ||
+ | |||
+ | ===[[Objective-C]]=== | ||
+ | [http://www.emacswiki.org/emacs/ObjectiveCMode Objective-C Mode] | ||
+ | |||
+ | ===Go=== | ||
+ | [http://www.emacswiki.org/emacs/GoLangMode [[Go]] Lang Mode] | ||
+ | |||
===Python=== | ===Python=== | ||
*[[Python Mode]] | *[[Python Mode]] | ||
*Python - http://www.python.org/emacs/ | *Python - http://www.python.org/emacs/ | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===Ruby=== | ===Ruby=== | ||
− | * | + | *[http://wiki.rubyonrails.org/rails/pages/HowToUseEmacsWithRails How To Use Emacs With Rails] |
*[[Emacs support for Ruby and Rails]] | *[[Emacs support for Ruby and Rails]] | ||
+ | *[https://github.com/eschulte/rinari Emacs minor mode for Rails] | ||
− | == | + | ===PHP=== |
+ | *[https://github.com/ejmr/php-mode PHP Mode for GNU Emacs] | ||
+ | |||
+ | ===Perl=== | ||
+ | [[CPerlMode]] - http://www.emacswiki.org/cgi-bin/wiki/CPerlMode | ||
+ | |||
+ | ===Dart=== | ||
+ | [https://github.com/dart-lang/dart-vim-plugin dart-vim-plugin] | ||
+ | |||
+ | ===Java=== | ||
+ | [[JDEE]] - http://jdee.sunsite.dk/ - http://www-128.ibm.com/developerworks/java/library/j-emacs/ | ||
+ | |||
+ | ===Scala=== | ||
+ | [https://github.com/hvesalai/sbt-mode sbt-mode] | ||
+ | |||
+ | ==仓库== | ||
+ | 使用 [https://melpa.org/ MELPA] 仓库 | ||
+ | |||
+ | 在 .emacs.d 目录下创建 init.el | ||
+ | (require 'package) | ||
+ | (add-to-list 'package-archives | ||
+ | '("melpa" . "https://melpa.org/packages/") t) | ||
+ | (when (< emacs-major-version 24) | ||
+ | ;; For important compatibility libraries like cl-lib | ||
+ | (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/"))) | ||
+ | (package-initialize) | ||
+ | 然后 | ||
+ | M-x package-list-packages | ||
+ | 安装 el-get | ||
+ | M-x package-install | ||
+ | |||
+ | ==项目== | ||
+ | *[https://github.com/emacs-tw/awesome-emacs Awesome Emacs] [[image:awesome.png]] | ||
+ | *[https://github.com/emacs-mirror/emacs Emacs @ GitHub] | ||
+ | *[https://github.com/doomemacs/doomemacs Doom Emacs] An Emacs framework for the stubborn martian hacker(顽固的火星黑客), A configuration framework for GNU Emacs. | ||
*[[Emacs Code Browser]] | *[[Emacs Code Browser]] | ||
*[[Emacs Muse]] | *[[Emacs Muse]] | ||
+ | *[[COGRE]] - Connected Graph Editor | ||
+ | *[https://github.com/emacs-eaf Emacs Application Framework (EAF)] | ||
+ | |||
+ | ==定制分发== | ||
+ | *[https://github.com/emacs-tw/awesome-emacs#starter-kit Starter Kit] | ||
*[[XEmacs]] | *[[XEmacs]] | ||
+ | |||
==作为编辑器== | ==作为编辑器== | ||
* 支持宏 | * 支持宏 | ||
第55行: | 第188行: | ||
* 支持 HTML/XML/SGML/PHP/PERL/Python/C/C++/JAVA ... 的编辑 | * 支持 HTML/XML/SGML/PHP/PERL/Python/C/C++/JAVA ... 的编辑 | ||
* Vi 模拟器 | * Vi 模拟器 | ||
− | * 中文处理 | + | * 中文处理 |
==其他工具的界面== | ==其他工具的界面== | ||
第80行: | 第213行: | ||
* 管理/发布 Blog emacs-wiki-blog, emacs-wiki-journal | * 管理/发布 Blog emacs-wiki-blog, emacs-wiki-journal | ||
* 读取 RSS nnrss | * 读取 RSS nnrss | ||
− | * 浏览网页 | + | * 浏览网页 |
+ | w3m (很爽,推荐): http://emacs-w3m.namazu.org/ | ||
+ | #apt-get install w3m // 可独立使用 | ||
+ | $ w3m http://www.huihoo.org | ||
+ | #apt-get install w3m-el | ||
+ | ESC-x w3m enter | ||
+ | w3: http://www.cs.indiana.edu/elisp/w3/docs.html | ||
+ | #apt-get install w3-el-e21 // web browser for GNU Emacs 21 | ||
+ | ESC-x w3 enter | ||
+ | |||
* 看 info/man | * 看 info/man | ||
第102行: | 第244行: | ||
* hanoi | * hanoi | ||
− | == | + | ==开发者玩家== |
− | * | + | *[https://emacstalk.github.io/ EmacsTalk] |
− | * | + | *[http://emacsredux.com/ Emacs Redux] |
− | + | *[https://github.com/chrisbarrett Chris Barrett] | |
− | * | + | *[https://manateelazycat.github.io/index.html manateelazycat] |
− | * | + | |
+ | ==图集== | ||
+ | <gallery> | ||
+ | image:Emacs-Application-Framework-EAF.png|EAF | ||
+ | image:emacs-application-framework.png|EAF应用框架 | ||
+ | image:emace-mode.png|package-install -mode | ||
+ | image:Customize-Emacs.png|Emacs配置 | ||
+ | image:Customize-Emacs-Languages.png|Emacs配置 | ||
+ | </gallery> | ||
+ | |||
+ | ==链接== | ||
+ | *[http://www.gnu.org/software/emacs/ GNU Emacs] | ||
+ | *[http://www.emacswiki.org/ Emacs Wiki] | ||
+ | *[http://emacser.com Emacs 中文网] | ||
*[[XEmacs]]: The next generation of Emacs - http://www.xemacs.org/ | *[[XEmacs]]: The next generation of Emacs - http://www.xemacs.org/ | ||
− | *Emacs | + | *[http://savannah.gnu.org/projects/emacs emacs开发主页] |
+ | *[http://zhdotemacs.sourceforge.net/emacs/ Emacs 中文化指南] | ||
+ | *[http://docs.huihoo.com/gnu/emacs/ Emacs Docs] | ||
+ | *[http://docs.huihoo.com/homepage/shredderyin/wiki/EmacsNotes.html EmacsNotes] --- 记录一些使用 Emacs 的笔记 | ||
+ | *[https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-zh.org 一年成为Emacs高手(像神一样使用编辑器)] | ||
+ | *[http://www.ibm.com/developerworks/cn/education/linux/l-emacs/ 生活在 Emacs 中] | ||
+ | *[http://wenshanren.org/ 肉山博客 (Wenshan's Blog)] | ||
+ | *[http://everet.org/thinking-of-emacs.html Emacs随想] | ||
+ | *[http://ldp.huihoo.org/LDP/espk-ug/html/index.html Emacspeak User's Guide] | ||
+ | *[http://www.unexpected-vortices.com/emacs/quick-ref.html GNU Emacs Quick Reference] | ||
− | [[ | + | [[category:IDE]] |
− | [[ | + | [[category:editor]] |
+ | [[category:emacs]] | ||
+ | [[category:lisp]] | ||
+ | [[category:Emacs Lisp]] | ||
+ | [[category:Huihoo Foundation]] |
2023年7月23日 (日) 01:41的最后版本
您可以在Wikipedia上了解到此条目的英文信息 GNU Emacs Thanks, Wikipedia. |
GNU Emacs
目录 |
[编辑] 简介
Emacs是一种信仰,也是种生活方式!
Emacs 是对技术极限不懈追求的信仰!
Emacs 是一个不折不扣的操作系统,一个终极工具!
学完Elisp不是探索的终点, 而是乐趣的开始!
[编辑] 功能
[编辑] 指南
[编辑] OS X
[编辑] Linux
Debian 7 安装 Emacs 25
apt-get install autoconf automake libtool texinfo build-essential xorg-dev libgtk2.0-dev libjpeg-dev libncurses5-dev libgif-dev libtiff-dev libm17n-dev libpng12-dev librsvg2-dev libotf-dev git clone --depth 1 git://git.sv.gnu.org/emacs.git cd emacs/ ./autogen.sh ./configure make bootstrap sudo make install
对Debian用户
#apt-get install emacs21 #apt-get install debian-el // Emacs helpers specific to Debian users. #apt-get isntall emacs-goodies-el // Miscellaneous add-ons for Emacs
EmacsForDebian - http://www.emacswiki.org/cgi-bin/wiki/EmacsForDebian
Emacs中文环境设置(Debian Linux)
1. 安装mule-ucs
apt-get install mule-ucs
2. 安装字体
apt-get install emacs-intl-fonts apt-get install xfonts-intl-chinese
这时emacs已经支持UTF8
3. 取消自动创建备份文件功能
[编辑] Windows
[编辑] .emacs
(setq line-number-mode t) // To enable line-number-mode by default in Emacs
Debian
http://www.debian.org/doc/packaging-manuals/debian-emacs-policy
[编辑] 常用功能
- C-x C-f:打开文件
- M-x ielm : REPL
(setq url-proxy-services
'(("no_proxy" . "^\\(localhost\\|10.*\\)") ("http" . "127.0.0.1:32783") ("https" . "127.0.0.1:32783")))
[编辑] GTK+
apt-get install emacs22-gtk // GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11) ./emacs22-gtk &
[编辑] Markdown
在 Emacs 中使用 Markdown。
[编辑] 编程语言
Programming Modes - http://www.emacswiki.org/cgi-bin/emacs-en/ProgrammingModes
Emacs Code Browser(ECB) : Code browser for several languages for Emacs.
#apt-get intall ecb
[编辑] Lisp
[编辑] Coq
- Proof General A generic Emacs interface for proof assistants
[编辑] Clojure
[编辑] Racket
[编辑] Erlang
- erlang.el:Erlang mode for Emacs
- Erlang Development Tool Suite
[编辑] OCaml
[编辑] Rust
[编辑] C/C++
- CC Mode - C, C++ (CPP), Objective C, Java, etc.
C-h P
[编辑] C#
[编辑] Lua
[编辑] Swift
[编辑] Objective-C
[编辑] Go
[编辑] Python
- Python Mode
- Python - http://www.python.org/emacs/
[编辑] Ruby
[编辑] PHP
[编辑] Perl
CPerlMode - http://www.emacswiki.org/cgi-bin/wiki/CPerlMode
[编辑] Dart
[编辑] Java
JDEE - http://jdee.sunsite.dk/ - http://www-128.ibm.com/developerworks/java/library/j-emacs/
[编辑] Scala
[编辑] 仓库
使用 MELPA 仓库
在 .emacs.d 目录下创建 init.el
(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (when (< emacs-major-version 24) ;; For important compatibility libraries like cl-lib (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/"))) (package-initialize)
然后
M-x package-list-packages
安装 el-get
M-x package-install
[编辑] 项目
- Awesome Emacs
- Emacs @ GitHub
- Doom Emacs An Emacs framework for the stubborn martian hacker(顽固的火星黑客), A configuration framework for GNU Emacs.
- Emacs Code Browser
- Emacs Muse
- COGRE - Connected Graph Editor
- Emacs Application Framework (EAF)
[编辑] 定制分发
[编辑] 作为编辑器
- 支持宏
- 编辑文本、各种程序
- 语法高亮,自动补全,代码折叠,在线帮助,自动语法检查...
- 写 TeX/LaTeX 文档,AUCTeX,BibTeX,Preview LaTeX
- 文件比较,图形化界面,文件合并
- 支持 HTML/XML/SGML/PHP/PERL/Python/C/C++/JAVA ... 的编辑
- Vi 模拟器
- 中文处理
[编辑] 其他工具的界面
- 调试程序,集成多种调试器(gdb等)的控制功能
- 版本管理,作为 CVS, Subversion 的前端 VC mode,PCL-CVS
- 文件浏览 Dired
- 查字典
- 拼写检查
- 调用 shell
- 调用 Scilab 进行专业科学计算
- 代码浏览 (cscope)
[编辑] 很强的可定制性
- Emacs 使用的 Emacs Lisp
- .emacs.el,.gnus.el ...
- 各种环境下的设置
[编辑] 网上浏览
- 收/发/管理电子邮件 Mew , 让.mew.el能保存POP密码
- 阅读新闻组 Gnus
- 登陆 IRC,在线聊天 Erc Rcirc
- 登陆 FTP,编辑远程文件
- 管理/发布 Wiki emacs-wiki, pmwiki-mode
- 管理/发布 Blog emacs-wiki-blog, emacs-wiki-journal
- 读取 RSS nnrss
- 浏览网页
w3m (很爽,推荐): http://emacs-w3m.namazu.org/
#apt-get install w3m // 可独立使用 $ w3m http://www.huihoo.org #apt-get install w3m-el ESC-x w3m enter
w3: http://www.cs.indiana.edu/elisp/w3/docs.html
#apt-get install w3-el-e21 // web browser for GNU Emacs 21 ESC-x w3 enter
- 看 info/man
[编辑] 个人信息管理
- 有地址簿/电话簿
- 有万年历,各种不同历法
- 记日记
- 日程管理Calendar and Diary
- 编写大纲
[编辑] 各种扩展
- 科学计算器
- 浏览源码
- 同时支持多种语言的字符编码
[编辑] 休闲娱乐
- 多媒体 Mpg123 EMMS
- 心理医生
- 游戏
- Life 游戏
- hanoi
[编辑] 开发者玩家
[编辑] 图集
[编辑] 链接
- GNU Emacs
- Emacs Wiki
- Emacs 中文网
- XEmacs: The next generation of Emacs - http://www.xemacs.org/
- emacs开发主页
- Emacs 中文化指南
- Emacs Docs
- EmacsNotes --- 记录一些使用 Emacs 的笔记
- 一年成为Emacs高手(像神一样使用编辑器)
- 生活在 Emacs 中
- 肉山博客 (Wenshan's Blog)
- Emacs随想
- Emacspeak User's Guide
- GNU Emacs Quick Reference