Starting!!
1.先啰嗦几句
3
1.关于elisp语法 4 5 a.在emacs中,setq是用来对变量赋值的。但是其中有一些变量属于“buffer-local”,在不同的buffer中有不同的值。如果想全局对这种变量进行赋值,应该使用setq-default。 6 换句话将,如果一个变量不是“buffer-local”,那么setq和setq-default没有区别。
7 这是StackOverflow上的论述。
8 多一句嘴,后续的学习离不开lisp,按“M-x info”可以找到GUN的lisp经典教程。
9 2.关于备份文件
一直觉得这里面的水很深,所以先一步一步来,最基本的backup-file是指“在emacs中打开一个文件,就会有一个相应的以“~”开头的backup-file”。
因为之后的配置文件直接用Git管理,所以直接禁止了该文件的生成。(setq make-backup-file nil)
10
3.org-mode的补充
因为刚开始在orgmode的编辑环境下编辑其他类型的代码,会特别不方便,就像在注释里写代码一样不会享受任何缩进,高亮和补全等快捷。(因为一种语言只能有一种Majormode)
在orgmode模式下,有一种方式,可以实现这种功能。功能代码直接按“<s”+tab。
#+BEGIN_SRC emacs-lisp
########### 一些lisp代码
#+END_SRC
将光标放在要编辑的lisp代码中,按“C-c ‘”emacs就会在另一个窗口中用emacs-lisp(可以换成java C++ 等所有主流语言)这个Majormode来让你尽心编辑。完成编辑后便可以按“C-c ’”emacs自动将最新的内容复制到原来的编辑区。 11 */
3.lisp语法
教程中的讲解很不错,我打算通过跟上教程逐渐增强我的emacs的配置(主要是安装各种package或者提供各式的便捷功能),过程中遇到语法知识,就直接提出啦需要记忆的写在博客上。
1 /* 2 3 刚刚实现了一个智能匹配括号的功能。 4 (add-hook 'emacs-lisp-mode-hook 'show-paren-mode) 5 涉及到Hook:
A hook is a Lisp variable which holds a list of functions, to be called on some well-defined occasion. 6 在emacs打开某一个Majormode的时候(打开方式有很多种,可以是启动的时候默认打开,或者是直接在编辑器中打开),就顺便启动hook在其上的所有功能。
这样的好处是,避免emacs的配置太多启动太慢,所以避免不必要的hook,只在相应的编辑区运行该配置。 8 9 */
4.改进package系统
使用MELPA作为package的源,上面都是最新的版本,当然可以使用stable版本的源。
2 3 1.“M-x package-list-packages”来在emacs中直接启动显示packages系统。 4 2.MELPA中有三千多和package,如果安装多个,在其前面按“I”,取消按“U” 5 3.搜索特定的package“C-s” 6 4.删掉已经安装过的package,“D” 7 5.更新所有package,按“U”。自动在旧的版本旁边添加“D”等待删除 8 6.在标记好所有package之后,按"X"来执行这些标记
7.“M-x package-autoremove”是在~/.emacs.d/elpa目录下进行检查。选择和配置文件中的不一致的package会被自动删除。
改进的地方
1. 在进行优化,使用两个package(counsel&swiper)可以在当前buffer中生成一个minibuffer,并优化其界面,看起来很直观。快捷键的绑定在GitHub上
“M-x” customize-group
该命令用来对package系统中的package进行自我配置。
9 */
5.关于快捷键
1 /* 2 3 4 (global-set-key (kbd "C-h C-f") 'counsel-find-file) 5 (global-set-key (kbd "C-h C-v") 'find-variable) 6 (global-set-key (kbd "C-h C-k") 'find-function-on-key) 7 8 这里的快捷键和“C-h f”等快捷键不一样的地方在于: 9 前面的方式可以直接找到所有对象的位置,但是系统默认的只提供其定义。 10 11 */
6.关于orgmode
1 /* 2 3 在 Org-mode 中重置有序列表序号可以直接使用 M-<RET> 。 4 5 可以在orgmode中进行时间管理 6 7 C-c C-s 选择想要开始的时间 8 C-c C-d 选择想要结束的时间 9 C-c a 可以打开 Agenda 模式菜单并选择不同的可视方式( r ) 10 “D”一天的时间管理
“W”一周的 时间管理
11 */
现阶段主要还是跟着教程将所有的lisp语法和概念熟悉,教程学习结束之后,主要的方式就会自己去MELPA上找packages,然后上GitHub和社区进行自主学习,坚持咯~