首页 > 代码库 > emacs第一天
emacs第一天
emacsbinw64.sourceforge.net windows的emacs下载地方(绿色软件)
学习快速入门
C-h t 快速入门的帮助文档
光标移动快捷键:
C-f 前进一格
C-b 后退一格
C-n 向下一行
C-p 向上一行
C-a 行开头
C-e 行结尾
C-k 删除当前位置到行尾
查阅一下win上修改快捷键 这些快捷键在mac里面是全局的快捷键
注意修改:caps Lock 到ctrl
C-g 中断命令(不想继续这个指令)
s 代表 super键 S 代表 shift键
M-x linum-mode 显示行号
打开文件 C-x C-f
保存文件 C-x C-s 也是调用函数(save-buffer)
emacs 任何东西(例如:快捷键)你都可以查询它
C-h v 一个变量
C-h k 查询快捷键绑定的函数(快捷键只是快速地调用对应的函数)
C-h f 一个函数
所有的快捷键都在一个map里面和具体的函数相对应(查询快捷键看到的)
学习elisp learnxinyminutes.com
buffer scratch 里面可以执行elisp命令(因为默认是lisp major mode)
C-x C-e 执行(下面是执行结果) 或者 C-j(下一行是执行结果)
显示在 minibuffer的区域
里面 ; 开头表示注释 C-h m可以查看所有minor mode
里面可以关闭自动缩进 Elecreic-Indent-mode
M-x Elecreic-Indent-mode 就关闭了
定义一个变量 (setq my-name "zilongshanren") 每次都要 C-x C-e 运行一下
输出该变量 (message my-name)
(insert "hello,emacs")hello,emacs
(insert "Hello, I am " my-name)Hello, I am wanglei
定义一个函数 (defun my-func () 不带参数的函数(要将鼠标放在 最后的括号后面然后C-x C-e)
(message my-name))
(my-func) 执行该函数
(defun my-func ()
(message "hello,world %s" my-name))
(my-func)
(defun hello (name) (insert "Hello " name))有参数的函数
(hello "you") 有参数的函数的调用
如果此时想要在 M-x 里面调用该函数是不行的
(defun my-func ()
(interactive) 意思是将其定义为一个交互式的函数
(message "hello,world %s" my-name))
如果想要知道message函数的帮助 光标放上面 然后C-h f (默认会抓取光标字符)
(my-func)
如果想要给函数绑定快捷键
(global-set-key (kbd "<f2>") ‘my-func) 将该函数绑定在快捷键上
如果重新启动emacs 这些配置都失效了
~/.emacs.d/init.el (该文件默认没有 C-x C-f 新建它 后退出即可)
打开每一种文件都会开启一个 major mode company -->complete anything
major mode应该提供什么样的语法规则来解析它 语法高亮 缩进 快捷键 等 核心功能
打开这个文件:
如果你不想要这个最上面的工具栏
(tool-bar-mode -1) 这是一个minor mode 一个文件最多只能激活一个major mode
多个minie mode
(scroll-bar-mode -1) 滚动栏关闭
(elecreic-indent-mode -1) 关闭缩进
(global-linum-mode t) 全局显示行号
(setq inhibit-splash-screen t) 关闭默认的启动页面
(defun open-init-file()
(interactive)
(find-file "~/.emacs.d/init.el")) 打开文件的函数 find-file 代码中要使用函数名
(global-set-key (kbd "<f2>") ‘open-init-file)
包系统 安装company meta n/p 选择
(global-company-mode t) 开启提示 不管用 25.1 有用
(setq cursor-type ‘bar)
显示minior mode C-h m
org-mode C-c C-t GTD工具(getting thing done)
elpa目录 用来保存 package安装的东西
org mode * 下面的heading
新建一个叫*test*的buffer
(switch-to-buffer-other-window "*test*")
`C-xC-e‘ 这时屏幕上会显示两个窗口,而光标此时位于*test* buffer内
用鼠标单击上面的buffer就会使光标移回。
或者你可以使用 C-x o 使得光标跳到另一个窗口中
你可以用 progn 命令将s式结合起来:
(progn
(switch-to-buffer-other-window "*test*")
(hello "you")) 这个hello 是上面定义的有参数的函数
清除指定的buffer
(progn
(switch-to-buffer-other-window "*test*")
(erase-buffer)
(hello "there")
)
安装 company 用于补全 安装之后 在.emacs.d 目录下
产生 elpa 目录 用于保存 这个包的源文件和编译之后的文件
之后尽可以使用补全功能了
M-x company-mode instal C-n C-p 可以选择补全的内容
但是只能对这个文件有补全功能
M-x global-company-mode 对所有文件都有效
major mode 只会有一个 显示在哪里
C-h m 可以显示所有的minor mode
learnxinyminutes 教程 https://learnxinyminutes.com/docs/elisp/
org-mode
C-c C-t 把一个 item 变成 todo
GTD(getting thing done)
setq 和 setq-default 的区别
buffer local 变量 在每一份buffer中都有一份值
如果是这里面的变量 setq-default 对全局都有效 而 setq 只对当前有效
禁止备份文件 (如果文件已经在 GitHub上的话)
(setq make-backup-files nil)
C-x 2 在下面分屏
C-x 3 在右边分屏
#+BEGIN_SRC emacs-lisp
(setq make-backup-files nil)
#+END_SRC
C-c ‘ (过去和回来) 进入另一个buffer
让上面注释里面关键字有高亮 在配置文件中加入
(require ‘org)
(setq org-src-fontify-natively t)
emacs第一天