Table of Contents
Emacs教程(二)
-
下表显示了 Emacs 剪贴板系统和现代标准之间的类似术语:
Modern Emacs Cut Kill Paste Yank Copy Save To Kill Ring -
对应的快捷键
快捷键 作用 M-w 复制选择的字符 C-w 剪切选择的字符 C-y 粘贴剪切板中的字符 -
基本操作
快捷键 作用 C-f 向后移动一个字符 C-b 向前移动一个字符 C-n 向下移动一行 C-p 向上移动一行 M-f 向后移动一个单词 M-b 向前移动一个单词 C-v 向下翻页 M-v 向上翻页 C-l (第一次) 将当前行放至屏幕正中间 C-l (第二次) 将当前行放至屏幕最上方 C-l (第三次) 将当前行放至屏幕最下方 C-a 跳转至行首 C-e 跳转至行尾 M-a 跳转至句首 M-e 跳转至句尾 M-< 跳转至缓冲区开头 M-> 跳转至缓冲区末尾 C-u <次数> <命令> 执行 <次数> 遍 <命令> C-x C-n 创建一个名为 Disabled Command 的缓冲区 C-x C-s 保存当前缓冲区至对应文件 C-x s 保存所有缓冲区至对应文件 C-x C-f 查找文件并打开它 C-x b 跳转缓冲区 C-x k 关闭缓冲区 <DEL>(DELETE 键) 删除光标前的一个字符 C-d 或 <BACKSPACE> 删除光标后的一个字符 M-<DEL> 移除光标前的一个单词 M-d 移除光标后的一个单词 C-k 移除光标处至行尾的所有字符 M-k 移除光标处至行首的所有字符 C-@ 或 C-<SPC> 选择字符 C-k (第一次) 移除当前行 (不移除换行符) C-k (第二次) 移除换行符 C-/ 或 C-_ 撤回或重做 C-x u 仅撤回 -
窗口管理
快捷键 作用 C-x 0 关闭当前窗口 (非缓冲区) C-x 1 只保留当前窗口 C-x 2 水平分裂出一个窗口 C-x 3 垂直分裂出一个窗口 C-x o 跳转至下一个窗口 -
搜索
- 使用 C-s 向下搜索, C-r 为向上搜索。
- elisp
(+ 1 1) ; 1 + 1
(+ 1 2 (* 2 3)) ; 1 + 2 + ( 2 * 3 )
(setq name "Emacs Lisp") ; 变量
(setq list '("1" "2" "3")) ; 列表
(car list) ; 提取列表的第一个值
(cdr list) ; 提取列表除第一个以外的值
(add-to-list 'list '("Things"))
(add-to-list 'load-path "path-to-path") ; 加载文件夹中的 Emacs Lisp 文件
(require 'name) ; 引用功能
(provide 'name) ; 提供功能
(push "thing" list) ; 推送到列表
(defun hello (myname) ; 定义函数
"函数文档"
(message "Hello, %s!" myname)) ; 将会在 mini-buffer 中显示 "Hello, Emacs Lisp!"
(hello name) ; 执行函数
- 推荐的设置项
;; UI 设置
(menu-bar-mode -1) ; 关闭菜单栏
(tool-bar-mode -1) ; 关闭工具栏
(setq tab-bar-show nil) ; 关闭顶栏
(scroll-bar-mode -1) ; 关闭滚动条
(tab-bar-mode -1) ; 关闭顶栏
(global-hl-line-mode t) ; 高亮当前行
(setq display-line-numbers-type 'relative) ; 为 display-line-numbers-mode 使用相对行号
(global-display-line-numbers-mode t) ; 打开行号
(toggle-frame-fullscreen) ; 全屏
(setq inhibit-splash-screen t) ; 关闭启动界面
;; 其它基本设置
(fset 'yes-or-no-p 'y-or-n-p) ; 切换回答是否的方式
(show-paren-mode t) ; 高亮 "()"
(electric-pair-mode t) ; 自动补全 "()"
(setq electric-pair-pairs
'((?\" . ?\")
(?\( . ?\))
(?\< . ?\>)
(?\{ . ?\}))) ; 设置括号补全的匹配规则
(setq make-backup-files nil ; 不生成备份文件
create-lockfiles nil ; 不生成锁文件
auto-save-default nil ; 关闭自动保存
)
(setq-default tab-width 2) ; 制表符长度
(setq-default indent-tabs-mode nil) ; 使用空格缩进
(setq user-emacs-directory "~/.emacs.d/var") ;;; 缓存文件夹
(setq user-init-file "~/.emacs.d/var/user-init.el")
(save-place-mode t) ; 在下一次打开文件时恢复上次的光标位置
(setq ring-bell-function 'ignore blink-cursor-mode nil) ; 关闭提示信息
(setq scroll-step 2
scroll-margin 2
hscroll-step 2
hscroll-margin 2
scroll-conservatively 101
scroll-up-aggressively 0.01
scroll-down-aggressively 0.01
scroll-preserve-screen-position 'always) ; 翻页设置
- 其他
- C-h-k-C-p :Get help and whole information about C-p Command