Tho*_*ten 16 emacs development-environment elisp
Emacs中有各种很酷的编程语言模式,用elisp编写,但显然没有特别支持elisp本身.
由于粘液不适用于elisp,我问自己是否所有elisp代码都只是在临时缓冲区被黑客攻击了?在编写elisp时是不是需要像粘液这样的东西,还是根本就不存在?是否有人使用ECB和语义进行更大的elisp项目?
Gil*_*il' 15
Emacs本身带有Emacs Lisp支持.基本到中间之类的东西完成(M-TAB),库搜索(M-x apropos),文件(C-h f,C-h v,C-h S),运行的代码在即时(C-M-x,M-:在运行的Emacs)直接操作.
史莱姆的主要目的是与外部流程互动.你不需要为Emacs Lisp(除非你正在开发不同版本的Emacs,但这是一个罕见的问题).
ECB和语义的功能主要用于大型项目(由多个源文件组成).人们不倾向于在Emacs Lisp中编写大型项目.
Raf*_*ler 13
总是有emacs-lisp-mode,每当你编辑.el文件时都会自动加载(至少在Emacs 23中).这似乎是许多emacs lisp黑客用来编写程序的东西.它有一些很好的功能(比如编译或评估缓冲区,一些调试工具,分析).*scratch*缓冲区默认是从lisp-interaction-mode编辑的,这有点不同.
它并不像slime那样功能齐全(elisp的社区比普通的lisp小得多),但绝对有效.您必须浏览文档并尝试使用该模式以查看可以使用的功能类型.
phi*_*ils 10
如上所述,Emacs已经是最终的elisp开发环境,并在内部为您提供了您可能想要的大部分功能.
如果您想要跳转到尚未加载的函数定义(并且缺少自动加载声明),您可能还可以使用ctags/etags为您的elisp代码库生成外部索引.M-x find-function RET除此之外.(我绑定到C-hC-f)
"apropos"功能是一般查找事物的关键.我使用以下绑定来方便访问:
(define-prefix-command 'Apropos-Prefix nil "Apropos (a,c,d,i,l,v,C-v)")
(global-set-key (kbd "C-h C-a") 'Apropos-Prefix)
(define-key Apropos-Prefix (kbd "a") 'apropos)
(define-key Apropos-Prefix (kbd "C-a") 'apropos)
(define-key Apropos-Prefix (kbd "c") 'apropos-command)
(define-key Apropos-Prefix (kbd "d") 'apropos-documentation)
(define-key Apropos-Prefix (kbd "i") 'info-apropos)
(define-key Apropos-Prefix (kbd "l") 'apropos-library)
(define-key Apropos-Prefix (kbd "v") 'apropos-variable)
(define-key Apropos-Prefix (kbd "C-v") 'apropos-value)
;; Use prefix arg (C-u) to see more results for a call,
;; or uncomment the next line to do this by default:
;; (setq apropos-do-all t)
;; See C-h v apropos-do-all RET for details.
Run Code Online (Sandbox Code Playgroud)
我也启用eldoc-mode并且我已经imenu-ido-goto-symbol绑定(但很少使用).
还有其他可能有用的库.我知道有些人例如发誓ParEdit.不可否认,搜索对于编写elisp有用的elisp库有点困难.我不确定Emacs Wiki是否有类别?
我通常emacs-lisp-mode优先使用默认模式*scratch*.99%的时间我甚至想要保存丢失的交互式测试(至少是暂时的),所以我经常使用的*.el文件比*scratch*.
在与Emacs Lisp交互时,冰柱可以提供很多帮助.这里列出的方式太多了.以下是两个可以提出想法的概述:
http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles
http://www.emacswiki.org/emacs/Icicles_-_Nutshell_View
| 归档时间: |
|
| 查看次数: |
3261 次 |
| 最近记录: |