Emacs-hacking第二天

  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和社区进行自主学习,坚持咯~

     

posted @ 2018-02-06 12:08  HaotianMichael  阅读(199)  评论(0编辑  收藏  举报