子龙山人Learn Emacs in 21 Days: day 1 学习笔记
Youtube
youku
1. 继续配置emacs
取消备份文件
默认会在打开的文件的目录生成相关的~文件,于以下命令可以取消生成备份文件
(setq make-backup-files nil)
最近打开文件
M-x recentf-mode
recentf-mode 激活后可以在File 中看到最近打开文件(Open Recent)
init.el 开启中加入recentf
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
分屏
C-x 2 上下分屏
C-x 3 左右分屏
打开emacs-lisp buffer
在org-mode 里中SRC 块中,执行C-c ’ 可以打开emacs-lips buffer
#+BEGIN_SRC emacs-lisp
(setq make-backup-files nil)
#+END_SRC
设置文档中语法高亮
(require 'org)
(setq org-src-fontify-natively t)
执行整个buffer
M-x eval-buffer
替换选中的块
(delete-selection-mode t)
快速拼写SRC块
#+BEGIN_SRC emacs-lisp
#+END_SRC
2. 优化emacs
显示括号
(add-hook 'emacs-lisp-mode-hook 'show-paren-mode)
高亮当前行
(global-hl-line-mode t)
3. 改进package 系统
设置源
(when (>= emacs-major-version 24) (require 'package) (package-initialize) (add-to-list 'package-archives '("gnu" . "http://elpa.emacs-china.org/gnu/") t) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) )
(require 'cl)
;;add whatever packages you want here
(defvar sandwich/packages '( company monokai-theme hungry-delete ) "Default packages")
(defun sandwich/packages-installed-p () (loop for pkg in sandwich/packages when (not (package-installed-p pkg)) do (return nil) finally (return t)))
(unless (sandwich/packages-installed-p) (message "%s" "Refreshing package database...") (package-refresh-contents) (dolist (pkg sandwich/packages) (when (not (package-installed-p pkg)) (package-install pkg))))
设置主题
M-x load-theme
后输入monokai可加载主题
在init.el 加上以下命令可以默认加载主题
(load-theme 'monokai t)
安装hungry-delete
通过melpa.org中的搜索和source可以查看mode 的使用方法
(require 'hungry-delete)
(global-hungry-delete-mode)
package-list-packges
M-x package-list-packges
命令的作用和Option-Manage Emacs Packages的作用一样
i 安装
d 卸载
U 更新全部
x 执行
更新完可能要运行M-x package-autoremove 删除老的package
安装smartparens swiper counsel
参考安装hungry-delete
customize-group
M-x customize-group
输入company 即可定制company-mode 的配置
序号自动重排
1. install a theme (monokai)
2. install hungry delete mode
3. package-list-packages (add/delete/update packages)
4. install and configure smex and ivy mode
5. lalalal
5. use customize-group to customize the package settings
6. install and configure smartparens mode
7. Don't try to update the package daily, the updating process might failed.
光标在行尾按M + Enter 后自动变成
1. install a theme (monokai)
2. install hungry delete mode
3. package-list-packages (add/delete/update packages)
4. install and configure smex and ivy mode
5. lalalal
6. use customize-group to customize the package settings
7. install and configure smartparens mode
8. Don't try to update the package daily, the updating process might failed.
9.
3. js 编程支持
安装js2-mode nodejs-repl exec-path-from-shell
需要配置exec-path-from-shell 让examcs 可以运行shell 中的程序
(when (memq window-system '(mac ns)) (exec-path-from-shell-initialize))
M-x nodejs-repl 即可调动js 执行窗口
M-x nodejs-repl-send-buffer 可以将js 文件执行
4. 其它
find-function
M-x find-function
然后输入nodejs-repl 可以跳转到该函数
M-x find-variable 跳转到该值定义
M-x find-function-on-key 跳转到该快捷键定义
可以设置以下快捷键
(global-set-key (kbd "C-h C-f") 'find-function)
(global-set-key (kbd "C-h C-v") 'find-variable)
(global-set-key (kbd "C-h C-f") 'find-function-on-key)
info
M-x info 可以打开info
org-mode
C-c C-t 改变状态
C-c C-s 改变开始时间
C-c C-d 改变结束时间
注意如果init.el 里有以下配置,会影响agenda 的使用,需要删除
'(org-agenda-files nil)