学习有效地使用 Emacs 本质上是一个缓慢的过程,但这是值得的。
立即设置 .emacs 文件。您将需要对其进行相当多的自定义。这听起来很傻,但是对该文件进行某种源代码控制也会有所帮助。
为了更容易了解 Emacs 的内部结构,请添加到您的 .emacs:
(defalias 'ap 'apropos)
然后,当您想查看是否有执行“某事”的命令时,键入“[Alt-x] ap [enter] something [enter]”。 Emacs 有自己的东西名称,所以有时很难找到东西(“yank”?说真的?像其他人一样称之为“cut”!)
"[Ctrl-h f] function-name [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-mode 是无价的。它可以让您一次打开数十个缓冲区,并在眨眼间在它们之间切换。设置 iswitchb 并添加到您的 .emacs:
(iswitchb 模式)
(define-key global-map (kbd "M-RET") 'iswitchb-buffer)
要计算 emacs-lisp 表达式,请将表达式输入缓冲区,将光标放在它后面,然后输入“[Ctrl-x Ctrl-e]”。这让您可以轻松地尝试不同的自定义设置。
请记住,在键入这样的序列时,您不必松开 ctrl。
使用“occur”函数查看字符串在缓冲区中出现的位置。以下是一些方便的功能和键绑定:
(defun word-at-point ()
(事物在点'字)
)
(defun word-at-point-or-selection ()
(如果标记激活
(regexp-quote (buffer-substring (mark) (point)))
(连接“\\”)
)
)
(defun find-word-at-point ()
(交互的)
(发生(word-at-point-or-selection))
)
(define-key global-map (kbd "C-o") 'find-word-at-point)
(define-key isearch-mode-map (kbd "C-o")
(拉姆达()
(交互的)
(让 ((case-fold-search isearch-case-fold-search))
(发生(如果 isearch-regexp isearch-string
(regexp-quote isearch-string))))))