46
|
Rob Kam Bayard Randel · 技术社区 · 16 年前 |
![]() |
1
44
学习如何使用最重要的事情 Emacs 好,好,好。这是一个愚蠢的回答,也是一个重复,但这是真的。如果你启动Emacs,然后想“我怎么能在我的源代码树中找到‘foobar’这个词的每个实例?”那么你能做的最糟糕的事情就是命中它 中高音 + 标签 访问谷歌。 认真地 学习帮助系统及其工作原理是您能做的最好的事情。很高兴能找到C-h,然后突然就能得到你需要的所有信息,就在你的指尖。 下一个最好的方法是安装一个很棒的小软件包,名为 Icicles 它有一些非常groovy的完成函数。安装后,只要知道,只要minibuffer请求某种输入,现在就可以使用正则表达式。 转移 + 标签 冰柱会启动,找到每一个前缀为“find”的命令。或者,你可以做M-x。 发现 它会给你任何带有find的命令。 建立一个备忘单。只要把一个保存的缓冲区放在一个有你经常使用的所有键盘快捷键的地方就行了。把那些你熟记在心的去掉,然后重新挑选。在大多数情况下,当您执行M-x命令时,消息缓冲区会告诉您该命令的键盘快捷键是什么(如果有)。 学键盘宏。 学Emacs。 Lisp . Org-mode ,甚至更好。) |
![]() |
2
17
这将使您达到高效的程度(您将阅读的“meta”键可能是Escape或alt)。 |
![]() |
3
14
|
![]() |
4
9
学习有效地使用Emacs本质上是一个缓慢的过程,但它是值得的。
为了更容易找到Emacs的内部结构,请将以下内容添加到您的.Emacs中: (defalias 'ap 'apropos) 然后,当您想查看是否有执行“something”的命令时,请键入“[Alt-x]ap[enter]something[enter]”。Emacs有自己的东西名称,所以有时候很难找到东西(“yank”?说真的?像其他人一样叫它“cut”!) “[Ctrl-h f]函数名[enter]”查找该函数的帮助。 “[Ctrl-h m]”显示有关当前模式的详细信息,如特定于该模式的键绑定。 学习使用Ctrl-s和Ctrl-r进行增量搜索。 全部的 文本编辑器需要具有此功能。 向.emacs添加键绑定,如: (define-key global-map (kbd "M-z") 'redo) (define-key global-map (kbd "C-z") 'undo) 获取redo.el包以减少Emacs的重做。 iswitchb模式是无价的。它可以让你一次打开几十个缓冲区,并在眨眼之间切换。设置iswitchb并添加到.emacs: (iswitchb-mode) (define-key global-map (kbd "M-RET") 'iswitchb-buffer) 要计算emacs lisp表达式,请在缓冲区中键入表达式,将光标放在它的后面,然后键入“[Ctrl-x Ctrl-e]”。这使您可以轻松地尝试不同的自定义设置。 记住,在键入这样的序列时,不必放开ctrl键。 使用“发生”函数查看缓冲区中字符串出现的位置。以下是一些方便的函数和键绑定: (defun word-at-point () (thing-at-point 'word) ) (defun word-at-point-or-selection () (if mark-active (regexp-quote (buffer-substring (mark) (point))) (concat "\\") ) ) (defun find-word-at-point () (interactive) (occur (word-at-point-or-selection)) ) (define-key global-map (kbd "C-o") 'find-word-at-point) (define-key isearch-mode-map (kbd "C-o") (lambda () (interactive) (let ((case-fold-search isearch-case-fold-search)) (occur (if isearch-regexp isearch-string (regexp-quote isearch-string)))))) |
![]() |
5
5
我对如何加快速度的想法:
我已经使用Emacs超过15年了,通过做上面的事情,我每天都能学到一件新东西。 |
![]() |
6
4
就像@Claudiu说的,用它就行了。就这样慢慢来,让你的需求驱动你的学习曲线。 最终你会到达一个你“知道足够危险”的地步,而不是真正掌握环境。没关系。因为在这一点上,你可能会很有效率。你将拥有基本的技能和工具。 随着时间的推移,你会遇到那些你每天都在做的事情,而这些事情你已经厌倦了,以至于你不得不花时间去寻找一种“更好的方法”。通常情况下,你的基本技能足以应付,足以让你花在其他道路上的时间(可能是未知的)不值得花费,特别是对于一些罕见的东西。 但是,你可能有空闲时间,或者任务可能足够大,有理由深入研究。 在这一点上,您将更多地成为Emacs专家,而不是熟练的用户。 虽然我个人不再使用Emacs(而是依赖IDE),但我要说的是,虽然Emacs非常复杂,但您只需要知道一小部分就可以让它变得有用和有趣。我还要说,我从来没有“在Emacs上尖叫”,而我一直在IDE上尖叫。是的,Emacs所做的比我的IDE所做的要少,但我认真地说,我可能值得花时间回到它,停止尖叫。 我只是觉得Emacs比我的IDE更具“确定性”,我的IDE喜欢时不时地进入lala land,或者需要重新启动,或者诸如此类。 我从未亲自崩溃过Emacs(有人会说这意味着我使用它不够努力…) |
![]() |
7
2
使用emacs进行基本文本编辑并不比使用记事本进行编辑复杂。只需像使用记事本一样使用它,但当你浏览菜单时,请注意键盘上的快捷键。慢慢地,你会开始拾起一些东西。当你想做某件事而不知道如何做时,可以从菜单中下拉选择帮助,就像其他编辑器一样。 我想我建议的唯一“诀窍”是,打开文件进行编辑后,尝试ctrl-h m以调出在该缓冲区模式下工作的键盘绑定列表。 |
![]() |
8
1
我的建议是:
每当你希望自己知道如何做某事时,就去看看如何去做。你可能需要把同样的东西翻3-4遍才能找到它,但是你会学会的。 继续这样做。一开始它会让人恼火,但之后你会习惯它,然后你甚至会喜欢使用它! (免责声明:我个人只使用另一个编辑器)。 |
![]() |
9
1
打开icomplete模式,您将经常看到在四处查看时看起来很有用的函数。
在.emacs文件中。 C-HF将允许您在docstring中查找函数,C-HV将对变量执行相同的操作。有了icomplete,这对于探索是非常好的。 |
![]() |
10
1
还值得注意的是,将Emacs设置为像更现代的应用程序一样工作可能会很痛苦,您需要运行Emacs服务器和使用Emacs客户端等操作。
|
![]() |
ptb · Slime\Emacs comint在启动mpi进程时挂起 7 年前 |
![]() |
Hatshepsut · 使用命令行参数使用region调用子流程 7 年前 |
![]() |
Meitham · spacemacs恢复文件筛选器 7 年前 |
![]() |
Chen Li · 与emacs相比,EmacClient有哪些缺点? 7 年前 |
![]() |
Itsbananas · 汇编代码的自定义缩进函数 7 年前 |